home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / c / make.h < prev    next >
C/C++ Source or Header  |  1994-03-04  |  2KB  |  65 lines

  1. /* #define    VAXVMS    1 */        /* uncomment for VAX/VMS */
  2. #define    MSDOS    1            /* uncomment for MSDOS */
  3.  
  4. #ifdef VAXVMS
  5. #define ESCCHAR    `\\`        /* ok to use backslash on VMS */
  6. #endif
  7.  
  8. #ifdef MSDOS
  9. #define    ESCCHAR    '`'        /* since pathname char is backslash (yech) */
  10. #endif
  11.  
  12. #define    MACCHAR '#'        /* macro-definition char */
  13. #define    COMCHAR    '!'        /* comment char */
  14. #define    DEFMAC    "="        /* macro-definition token */
  15. #define    DEPEND    ":"        /* dependency-definition token */
  16.  
  17. #define    DEBUG    if(0)
  18. #define    STRSIZ    512
  19. #define    MAXMODS    50
  20.  
  21. /* file attributes */
  22. #define    REBUILT    0x01        /* file has been reconstructed */
  23. #define    ROOTP    0x02        /* file was named on left side of DEPEND */
  24.  
  25.  
  26. struct date_str {
  27.     unsigned ds_low, ds_high;
  28. };
  29. typedef struct date_str *DATE;
  30.  
  31.  
  32. struct node {
  33.     struct filenode *nfile;    /* this node's file */
  34.     struct node *nnext;    /* the next node */
  35. };
  36. typedef struct node NODE;
  37.  
  38.  
  39. struct filenode {
  40.     char *fname;        /* the filename */
  41.     char *fmake;        /* remake string for file */
  42.     DATE fdate;        /* 32 bit last-modification date */
  43.     NODE *fnode;        /* files this file depends on */
  44.     char fflag;        /* magic flag bits */
  45.     struct filenode *fnext;    /* the next file */
  46. };
  47. typedef struct filenode FILENODE;
  48.  
  49.  
  50. struct macro {
  51.     char *mname;        /* the macro's name */
  52.     char *mvalue;        /* the macro's definition */
  53.     struct macro *mnext;    /* the next macro */
  54. };
  55. typedef struct macro MACRO;
  56.  
  57.  
  58. extern MACRO *mroot;
  59. extern FILENODE *froot;
  60. extern DATE bigbang;        /* Far, far in the past */
  61. extern DATE endoftime;        /* Far, far in the future */
  62. char *gmacro();
  63. FILENODE *filenode(), *gfile();
  64. char *token();
  65.