|
|
1.1 root 1: /* defs 4.10 86/03/22 */
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: /* to install metering, add a statement like
12: * #define METERFILE "/usr/sif/make/Meter"
13: * to turn metering on, set external variable meteron to 1.
14: */
15:
16: /* define FSTATIC to be static on systems with C compilers
17: supporting file-static; otherwise define it to be null
18: */
19: #define FSTATIC static
20:
21: #define NO 0
22: #define YES 1
23:
24: #define unequal strcmp
25: #define HASHSIZE 1021
26: #define NLEFTS 512
27: #define NCHARS 500
28: #define NINTS 250
29: #define INMAX 7000
30: #define OUTMAX 7000
31: #define QBUFMAX 5000
32: #define MAXDIR 10
33:
34: #define ALLDEPS 1
35: #define SOMEDEPS 2
36:
37: #define META 01
38: #define TERMINAL 02
39: extern char funny[128];
40:
41:
42: #define ALLOC(x) (struct x *) ckalloc(sizeof(struct x))
43:
44: extern int sigivalue;
45: extern int sigqvalue;
46: extern int waitpid;
47: extern int dbgflag;
48: extern int prtrflag;
49: extern int silflag;
50: extern int noexflag;
51: extern int keepgoing;
52: extern int noruleflag;
53: extern int touchflag;
54: extern int questflag;
55: extern int ndocoms;
56: extern int ignerr;
57: extern int okdel;
58: extern int inarglist;
59: extern char *prompt;
60: extern int nopdir;
61: extern char junkname[ ];
62:
63:
64:
65: struct nameblock
66: {
67: struct nameblock *nxtnameblock;
68: char *namep;
69: char *alias;
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.