Annotation of researchv8dc/cmd/make/defs, revision 1.1.1.1

1.1       root        1: /* defs 4.2 85/05/14 */
                      2: #include <stdio.h>
                      3: #include <sys/param.h>
                      4: #include <ctype.h>
                      5: #ifdef VERSION8
                      6: #      include <ndir.h>
                      7: #else
                      8: #      include <sys/dir.h>
                      9: #endif
                     10: 
                     11: 
                     12: #define SHELLCOM "/bin/sh"
                     13: 
                     14: typedef char flag;     /* represent a few bit flag */
                     15: typedef long int TIMETYPE;
                     16: 
                     17: #ifdef unix
                     18: /*  to install metering, add a statement like */
                     19: #define METERFILE "/usr/sif/make/Meter"
                     20: /* to turn metering on, set external variable meteron to 1 */
                     21: #endif
                     22: 
                     23: /* define FSTATIC to be static on systems with C compilers
                     24:    supporting file-static; otherwise define it to be null
                     25: */
                     26: #define FSTATIC static
                     27: 
                     28: #define NO     0
                     29: #define YES    1
                     30: 
                     31: #define equal(a,b)     (! strcmp(a,b))
                     32: #define HASHSIZE       1021
                     33: #define NLEFTS 512
                     34: #define NCHARS 500
                     35: #define NINTS  250
                     36: #define INMAX  5000
                     37: #define OUTMAX 5000
                     38: #define QBUFMAX        5000
                     39: #define MAXDIR 10
                     40: #define MAXPROC        100
                     41: #define MAXINCLUDE     17
                     42: #define PROCLIMIT      3
                     43: 
                     44: #define ALLDEPS        1
                     45: #define SOMEDEPS       2
                     46: 
                     47: #define META   01
                     48: #define TERMINAL       02
                     49: extern char funny[128];
                     50: 
                     51: 
                     52: #define ALLOC(x) (struct x *) ckalloc(sizeof(struct x))
                     53: #define CHNULL (char *) NULL
                     54: 
                     55: extern int sigivalue;
                     56: extern int sigqvalue;
                     57: extern int dbgflag;
                     58: extern int prtrflag;
                     59: extern int silflag;
                     60: extern int noexflag;
                     61: extern int keepgoing;
                     62: extern int noruleflag;
                     63: extern int touchflag;
                     64: extern int questflag;
                     65: extern int oldflag;
                     66: extern int ndocoms;
                     67: extern int ignerr;
                     68: extern int okdel;
                     69: extern int inarglist;
                     70: extern char **envpp;   /* points to slot in environment vector */
                     71: extern char *prompt;
                     72: extern int nopdir;
                     73: 
                     74: typedef struct nameblock *nameblkp;
                     75: typedef struct depblock *depblkp;
                     76: typedef struct lineblock *lineblkp;
                     77: typedef struct chain *chainp;
                     78: 
                     79: struct nameblock
                     80:        {
                     81:        nameblkp nxtnameblock;
                     82:        char *namep;
                     83:        lineblkp linep;
                     84:        flag done;
                     85:        flag septype;
                     86:        flag isarch;
                     87:        flag isdir;
                     88:        TIMETYPE modtime;
                     89:        };
                     90: 
                     91: extern nameblkp mainname;
                     92: extern nameblkp firstname;
                     93: extern nameblkp *hashtab;
                     94: extern int nhashed;
                     95: extern int hashsize;
                     96: extern int hashthresh;
                     97: 
                     98: struct lineblock
                     99:        {
                    100:        lineblkp nxtlineblock;
                    101:        struct depblock *depp;
                    102:        struct shblock *shp;
                    103:        };
                    104: extern lineblkp sufflist;
                    105: 
                    106: struct depblock
                    107:        {
                    108:        depblkp nxtdepblock;
                    109:        nameblkp depname;
                    110:        char nowait;
                    111:        } ;
                    112: 
                    113: struct shblock
                    114:        {
                    115:        struct shblock *nxtshblock;
                    116:        char *shbp;
                    117:        };
                    118: 
                    119: struct varblock
                    120:        {
                    121:        struct varblock *nxtvarblock;
                    122:        char *varname;
                    123:        char *varval;
                    124:        char **export;
                    125:        flag noreset;
                    126:        flag used;
                    127:        };
                    128: extern struct varblock *firstvar;
                    129: 
                    130: struct pattern
                    131:        {
                    132:        struct pattern *nxtpattern;
                    133:        char *patval;
                    134:        };
                    135: extern struct pattern *firstpat;
                    136: 
                    137: struct dirhd
                    138:        {
                    139:        struct dirhd *nxtdirhd;
                    140:        TIMETYPE dirtime;
                    141:        int dirok;
                    142:        DIR * dirfc;
                    143:        char *dirn;
                    144:        };
                    145: extern struct dirhd *firstod;
                    146: 
                    147: 
                    148: struct chain
                    149:        {
                    150:        chainp nextp;
                    151:        char *datap;
                    152:        };
                    153: 
                    154: struct wild
                    155:        {
                    156:        struct wild *next;
                    157:        lineblkp linep;
                    158:        char *left;
                    159:        char *right;
                    160:        int llen;
                    161:        int rlen;
                    162:        int totlen;
                    163:        };
                    164: 
                    165: typedef struct wild *wildp;
                    166: extern wildp firstwild;
                    167: extern wildp lastwild;
                    168: 
                    169: 
                    170: /* date for processes */
                    171: extern int proclimit;  /* maximum spawned processes allowed alive at one time */
                    172: extern int proclive;   /* number of spawned processes awaited */
                    173: extern int nproc;      /* next slot in process stack to use */
                    174: extern struct process
                    175:        {
                    176:        int pid;
                    177:        flag nohalt;
                    178:        flag nowait;
                    179:        flag done;
                    180:        } procstack[ ];
                    181: 
                    182: 
                    183: char *copys(), *concat(), *subst();
                    184: int *ckalloc();
                    185: nameblkp srchname(), makename();
                    186: TIMETYPE exists();

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.