|
|
1.1 root 1: /*
2: * make.h
3: * Definitions and declarations for make.
4: * Created due to the offended sensitivities of all MWC, 1-2-85.
5: */
6:
7: #include <stdio.h>
8: #include <sys/stat.h>
9: #include <sys/types.h>
10: #include <time.h>
11: #ifdef _I386
12: #include <arcoff.h>
13: #else
14: #include <ar.h>
15: #endif
16: #include <canon.h>
17: #include <path.h>
18: #include <time.h>
19:
20: /* Exit codes. */
21: #define ALLOK 0 /* all ok, if -q option then all uptodate */
22: #define ERROR 1 /* something went wrong */
23: #define NOTUTD 2 /* with -q option, something is not uptodate */
24:
25: /* Types. */
26: #define T_UNKNOWN 0
27: #define T_NODETAIL 1
28: #define T_DETAIL 2
29: #define T_DONE 3
30:
31: /* Other manifest constants. */
32: #define TRUE (0 == 0)
33: #define FALSE (0 != 0)
34: #define EOS 0200
35: #define NUL '\0'
36: #define NBACKUP 2048
37: #define NMACRONAME 48
38: #define NTOKBUF 100
39: #define READ 0 /* open argument for reading */
40:
41: /* Macros. */
42: #define Streq(a,b) (strcmp(a,b) == 0)
43:
44: /* Structures. */
45: typedef struct token {
46: struct token *next;
47: char *value;
48: } TOKEN;
49:
50: typedef struct macro {
51: struct macro *next;
52: char *value;
53: char *name;
54: int protected;
55: } MACRO;
56:
57: typedef struct sym {
58: struct sym *next;
59: char *action;
60: char *name;
61: char *filename;
62: struct dep *deplist;
63: int type;
64: time_t moddate;
65: } SYM;
66:
67: typedef struct dep {
68: struct dep *next;
69: char *action;
70: struct sym *symbol;
71: } DEP;
72:
73: /* Library functions. */
74: extern char *getenv();
75: extern char *strcat();
76: extern char *strcpy();
77: extern char *strncpy();
78: extern char *malloc();
79: extern char *realloc();
80: extern char *index();
81: extern char *rindex();
82:
83: /* System dependencies. */
84: #if MSDOS || GEMDOS
85: #define ACTIONFILE "mactions"
86: #define MACROFILE "mmacros"
87: #define TDELIM " \t\n=;"
88: #endif
89:
90: #if COHERENT
91: #define ACTIONFILE "makeactions"
92: #define MACROFILE "makemacros"
93: #define TDELIM " \t\n=:;"
94: #endif
95:
96: /* end of make.h */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.