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