home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
- #include <ctype.h>
-
- #define SHELLCOM "/bin/sh"
- typedef long int TIMETYPE;
-
- #ifdef unix
- /* to install metering, add a statement like */
- #define METERFILE "/usr/sif/make/Meter"
- /* to turn metering on, set external variable meteron to 1 */
- #endif
-
- /* define FSTATIC to be static on systems with C compilers
- supporting file-static; otherwise define it to be null
- */
- #define FSTATIC static
-
- #define NO 0
- #define YES 1
-
- #define unequal strcmp
- #define HASHSIZE 509
- #define NLEFTS 40
- #define NCHARS 500
- #define NINTS 250
- #define INMAX 1500
- #define OUTMAX 2500
- #define QBUFMAX 1500
-
- #define ALLDEPS 1
- #define SOMEDEPS 2
-
- #define META 01
- #define TERMINAL 02
- extern char funny[128];
-
-
- #define ALLOC(x) (struct x *) ckalloc(sizeof(struct x))
-
- extern int sigivalue;
- extern int sigqvalue;
- extern int waitpid;
- extern int dbgflag;
- extern int prtrflag;
- extern int silflag;
- extern int noexflag;
- extern int keepgoing;
- extern int noruleflag;
- extern int touchflag;
- extern int questflag;
- extern int ndocoms;
- extern int ignerr;
- extern int okdel;
- extern int inarglist;
- extern char *prompt;
- extern char junkname[ ];
-
-
-
- struct nameblock
- {
- struct nameblock *nxtnameblock;
- char *namep;
- struct lineblock *linep;
- int done:3;
- int septype:3;
- TIMETYPE modtime;
- };
-
- extern struct nameblock *mainname ;
- extern struct nameblock *firstname;
-
- struct lineblock
- {
- struct lineblock *nxtlineblock;
- struct depblock *depp;
- struct shblock *shp;
- };
- extern struct lineblock *sufflist;
-
- struct depblock
- {
- struct depblock *nxtdepblock;
- struct nameblock *depname;
- };
-
- struct shblock
- {
- struct shblock *nxtshblock;
- char *shbp;
- };
-
- struct varblock
- {
- struct varblock *nxtvarblock;
- char *varname;
- char *varval;
- int noreset:1;
- int used:1;
- };
- extern struct varblock *firstvar;
-
- struct pattern
- {
- struct pattern *nxtpattern;
- char *patval;
- };
- extern struct pattern *firstpat;
-
- struct opendir
- {
- struct opendir *nxtopendir;
- FILE * dirfc;
- char *dirn;
- };
- extern struct opendir *firstod;
-
-
- struct chain
- {
- struct chain *nextp;
- char *datap;
- };
-
- char *copys(), *concat(), *subst(), *sprintf();
- int *ckalloc();
- struct nameblock *srchname(), *makename();
- TIMETYPE exists();
-