/* ;=======================================================================; ; ; ; ... ... ... ..... ... ... ... ; ; ............. ....... ... ... ... _______________________ ; ; .... ... ... ... ... ... ... ... ; ; ... ... ... ... ... ... ... MORRIS CODE WORKS ; ; ... ... ... ... ... ... ... ; ; ... ... ... ... ... ... ... SYSTEM SOFTWARE FILE ; ; ... ... ... ... ... ... ... ... _______________________ ; ; ... ... ... ....... ........... ; ; ... ... ... ..... .. .. ; ; ; ; ; ;=======================================================================; ; Copyright (c) 1985 by Morris Code Works ; ;=======================================================================; ; ; ; File: MAKE.C ; ; ; ; Description: UNIX like 'make' command ; ; ; ; Create Date: 06 Aug 85 ; ; ; ;=======================================================================; ; ; ; Revision History ; ; ; ; When Who Description ; ; --------- --- ---------------------------------------------- ; ; 06 Aug 85 TGM Module created ; ; 27 Aug 85 TGM Released for use ; ; ; ;=======================================================================; */ #define DEFAULT "makefile" /* the default 'make' file */ #define EXECFILE "execmake.sub" /* the created submit file */ #define INMAX 132 /* longest line read */ #define TRUE 1 #define FALSE 0 typedef int boolean; /* makfile record types */ #define UNKNOWN 0 /* unknown record */ #define DEFINE 1 /* definition record */ #define HOWTO 2 /* how to make record */ #define MACRO 3 /* macro definition record */ #define COMMENT 4 /* a line to ignore */ struct deprec { /* list of dependencies */ struct deprec *next; char *name; struct defnrec *def; }; struct defnrec { /* definition record */ struct defnrec *next; char *name; boolean uptodate; unsigned long modified; struct deprec *dependson; struct howrec *howto; }; struct howrec { /* how to make this file */ struct howrec *next; char *howcom; }; struct macdef { /* macro definitions */ struct macdef *next; char *name; char *mactext; }; struct dorec { /* files to 'make' */ struct dorec *next; char *name; };