include fixes
[unix-history] / usr / src / old / make / defs
CommitLineData
3ffa6b49 1/* defs 4.6 83/07/01 */
5d0e89ad
BJ
2#include <stdio.h>
3#include <ctype.h>
b342e078 4#include <sys/param.h>
3ffa6b49 5#include <sys/dir.h>
5d0e89ad
BJ
6
7#define SHELLCOM "/bin/sh"
8
9typedef long int TIMETYPE;
10
11#ifdef unix
12/* to install metering, add a statement like */
13#define METERFILE "/usr/sif/make/Meter"
14/* to turn metering on, set external variable meteron to 1 */
15#endif
16
17/* define FSTATIC to be static on systems with C compilers
18 supporting file-static; otherwise define it to be null
19*/
20#define FSTATIC static
21
22#define NO 0
23#define YES 1
24
25#define unequal strcmp
26#define HASHSIZE 1021
27#define NLEFTS 512
28#define NCHARS 500
29#define NINTS 250
9eb0ec29 30#define INMAX 3500
5d0e89ad
BJ
31#define OUTMAX 3500
32#define QBUFMAX 2500
33#define MAXDIR 10
34
35#define ALLDEPS 1
36#define SOMEDEPS 2
37
38#define META 01
39#define TERMINAL 02
40extern char funny[128];
41
42
43#define ALLOC(x) (struct x *) ckalloc(sizeof(struct x))
44
45extern int sigivalue;
46extern int sigqvalue;
47extern int waitpid;
48extern int dbgflag;
49extern int prtrflag;
50extern int silflag;
51extern int noexflag;
52extern int keepgoing;
53extern int noruleflag;
54extern int touchflag;
55extern int questflag;
56extern int ndocoms;
57extern int ignerr;
58extern int okdel;
59extern int inarglist;
60extern char *prompt;
61extern int nopdir;
62extern char junkname[ ];
63
64
65
66struct nameblock
67 {
68 struct nameblock *nxtnameblock;
69 char *namep;
70 struct lineblock *linep;
71 int done:3;
72 int septype:3;
73 TIMETYPE modtime;
74 };
75
76extern struct nameblock *mainname ;
77extern struct nameblock *firstname;
78
79struct lineblock
80 {
81 struct lineblock *nxtlineblock;
82 struct depblock *depp;
83 struct shblock *shp;
84 };
85extern struct lineblock *sufflist;
86
87struct depblock
88 {
89 struct depblock *nxtdepblock;
90 struct nameblock *depname;
91 };
92
93struct shblock
94 {
95 struct shblock *nxtshblock;
96 char *shbp;
97 };
98
99struct varblock
100 {
101 struct varblock *nxtvarblock;
102 char *varname;
103 char *varval;
104 int noreset:1;
105 int used:1;
106 };
107extern struct varblock *firstvar;
108
109struct pattern
110 {
111 struct pattern *nxtpattern;
112 char *patval;
113 };
114extern struct pattern *firstpat;
115
b342e078 116struct dirhdr
5d0e89ad 117 {
b342e078
KM
118 struct dirhdr *nxtopendir;
119 DIR *dirfc;
5d0e89ad
BJ
120 char *dirn;
121 };
b342e078 122extern struct dirhdr *firstod;
5d0e89ad
BJ
123
124
125struct chain
126 {
127 struct chain *nextp;
128 char *datap;
129 };
130
131char *copys(), *concat(), *subst();
132int *ckalloc();
133struct nameblock *srchname(), *makename();
134TIMETYPE exists();