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