home *** CD-ROM | disk | FTP | other *** search
- /* #define VAXVMS 1 */ /* uncomment for VAX/VMS */
- #define MSDOS 1 /* uncomment for MSDOS */
-
- #ifdef VAXVMS
- #define ESCCHAR `\\` /* ok to use backslash on VMS */
- #endif
-
- #ifdef MSDOS
- #define ESCCHAR '`' /* since pathname char is backslash (yech) */
- #endif
-
- #define MACCHAR '#' /* macro-definition char */
- #define COMCHAR '!' /* comment char */
- #define DEFMAC "=" /* macro-definition token */
- #define DEPEND ":" /* dependency-definition token */
-
- #define DEBUG if(0)
- #define STRSIZ 512
- #define MAXMODS 50
-
- /* file attributes */
- #define REBUILT 0x01 /* file has been reconstructed */
- #define ROOTP 0x02 /* file was named on left side of DEPEND */
-
-
- struct date_str {
- unsigned ds_low, ds_high;
- };
- typedef struct date_str *DATE;
-
-
- struct node {
- struct filenode *nfile; /* this node's file */
- struct node *nnext; /* the next node */
- };
- typedef struct node NODE;
-
-
- struct filenode {
- char *fname; /* the filename */
- char *fmake; /* remake string for file */
- DATE fdate; /* 32 bit last-modification date */
- NODE *fnode; /* files this file depends on */
- char fflag; /* magic flag bits */
- struct filenode *fnext; /* the next file */
- };
- typedef struct filenode FILENODE;
-
-
- struct macro {
- char *mname; /* the macro's name */
- char *mvalue; /* the macro's definition */
- struct macro *mnext; /* the next macro */
- };
- typedef struct macro MACRO;
-
-
- extern MACRO *mroot;
- extern FILENODE *froot;
- extern DATE bigbang; /* Far, far in the past */
- extern DATE endoftime; /* Far, far in the future */
- char *gmacro();
- FILENODE *filenode(), *gfile();
- char *token();
-