|
|
1.1 root 1: /* defs 4.6 83/07/01 */
2: #include <stdio.h>
3: #include <ctype.h>
4: #include <sys/param.h>
5: #include <sys/dir.h>
6:
7: #define SHELLCOM "/bin/sh"
8:
9: typedef 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
30: #define INMAX 3500
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
40: extern char funny[128];
41:
42:
43: #define ALLOC(x) (struct x *) ckalloc(sizeof(struct x))
44:
45: extern int sigivalue;
46: extern int sigqvalue;
47: extern int waitpid;
48: extern int dbgflag;
49: extern int prtrflag;
50: extern int silflag;
51: extern int noexflag;
52: extern int keepgoing;
53: extern int noruleflag;
54: extern int touchflag;
55: extern int questflag;
56: extern int ndocoms;
57: extern int ignerr;
58: extern int okdel;
59: extern int inarglist;
60: extern char *prompt;
61: extern int nopdir;
62: extern char junkname[ ];
63:
64:
65:
66: struct 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:
76: extern struct nameblock *mainname ;
77: extern struct nameblock *firstname;
78:
79: struct lineblock
80: {
81: struct lineblock *nxtlineblock;
82: struct depblock *depp;
83: struct shblock *shp;
84: };
85: extern struct lineblock *sufflist;
86:
87: struct depblock
88: {
89: struct depblock *nxtdepblock;
90: struct nameblock *depname;
91: };
92:
93: struct shblock
94: {
95: struct shblock *nxtshblock;
96: char *shbp;
97: };
98:
99: struct varblock
100: {
101: struct varblock *nxtvarblock;
102: char *varname;
103: char *varval;
104: int noreset:1;
105: int used:1;
106: };
107: extern struct varblock *firstvar;
108:
109: struct pattern
110: {
111: struct pattern *nxtpattern;
112: char *patval;
113: };
114: extern struct pattern *firstpat;
115:
116: struct dirhdr
117: {
118: struct dirhdr *nxtopendir;
119: DIR *dirfc;
120: char *dirn;
121: };
122: extern struct dirhdr *firstod;
123:
124:
125: struct chain
126: {
127: struct chain *nextp;
128: char *datap;
129: };
130:
131: char *copys(), *concat(), *subst();
132: int *ckalloc();
133: struct nameblock *srchname(), *makename();
134: TIMETYPE exists();
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.