[BACK]Return to gnode.h CVS log [TXT][DIR] Up to [local] / src / usr.bin / make

Diff for /src/usr.bin/make/gnode.h between version 1.13 and 1.14

version 1.13, 2008/01/29 22:23:10 version 1.14, 2008/11/04 07:22:35
Line 88 
Line 88 
 struct GNode_ {  struct GNode_ {
     int special_op;     /* special op to apply */      int special_op;     /* special op to apply */
     unsigned char special;/* type of special node */      unsigned char special;/* type of special node */
     char must_make;             /* true if this target needs to be remade */      char must_make;     /* true if this target needs to be remade */
     char childMade;     /* true if one of this target's children was      char childMade;     /* true if one of this target's children was
                          * made */                           * made */
     char built_status;  /* Set to reflect the state of processing      char built_status;  /* Set to reflect the state of processing
Line 109 
Line 109 
                          *      printed. Go back and unmark all its                           *      printed. Go back and unmark all its
                          *      members.                           *      members.
                          */                           */
       char build_lock;    /* for parallel build in siblings */
     char *path;         /* The full pathname of the file */      char *path;         /* The full pathname of the file */
     int type;           /* Its type (see the OP flags, below) */      unsigned int type;          /* Its type (see the OP flags, below) */
     int order;          /* Its wait weight */      int order;          /* Its wait weight */
   
     int unmade;         /* The number of unmade children */      int unmade;         /* The number of unmade children */
Line 134 
Line 135 
     struct Suff_ *suffix;/* Suffix for the node (determined by      struct Suff_ *suffix;/* Suffix for the node (determined by
                          * Suff_FindDeps and opaque to everyone                           * Suff_FindDeps and opaque to everyone
                          * but the Suff module) */                           * but the Suff module) */
       struct GNode_ *sibling;     /* equivalent targets */
       /* stuff for target name equivalence */
       char *basename;     /* pointer to name stripped of path */
       struct GNode_ *next;
     char name[1];       /* The target's name */      char name[1];       /* The target's name */
 };  };
   
 #define has_been_built(gn)      ((gn)->built_status == MADE || (gn)->built_status == UPTODATE)  #define has_been_built(gn) \
           ((gn)->built_status == MADE || (gn)->built_status == UPTODATE)
   #define should_have_file(gn) \
           ((gn)->special == SPECIAL_NONE && \
           ((gn)->type & (OP_PHONY | OP_DUMMY)) == 0)
 /*  /*
  * The OP_ constants are used when parsing a dependency line as a way of   * The OP_ constants are used when parsing a dependency line as a way of
  * communicating to other parts of the program the way in which a target   * communicating to other parts of the program the way in which a target
Line 174 
Line 183 
                                      * children was out-of-date */                                       * children was out-of-date */
 #define OP_MADE         0x00000800  /* Assume the node is already made; even if  #define OP_MADE         0x00000800  /* Assume the node is already made; even if
                                      * it really is out of date */                                       * it really is out of date */
 #define OP_INVISIBLE    0x00004000  /* The node is invisible to its parents.  #define OP_INVISIBLE    0x00001000  /* The node is invisible to its parents.
                                      * I.e. it doesn't show up in the parents's                                       * I.e. it doesn't show up in the parents's
                                      * local variables. */                                       * local variables. */
 #define OP_NOTMAIN      0x00008000  /* The node is exempt from normal 'main  #define OP_NOTMAIN      0x00002000  /* The node is exempt from normal 'main
                                      * target' processing in parse.c */                                       * target' processing in parse.c */
 #define OP_PHONY        0x00010000  /* Not a file target; run always */  #define OP_PHONY        0x00004000  /* Not a file target; run always */
 #define OP_NOPATH       0x00020000  /* Don't search for file in the path */  #define OP_NOPATH       0x00008000  /* Don't search for file in the path */
 #define OP_NODEFAULT    0x00040000  /* Special node that never needs */  #define OP_NODEFAULT    0x00010000  /* Special node that never needs */
                                     /* DEFAULT commands applied */                                      /* DEFAULT commands applied */
 #define OP_DUMMY        0x00080000  /* node was created by default, but it */  #define OP_DUMMY        0x00020000  /* node was created by default, but it */
                                     /* does not really exist. */                                      /* does not really exist. */
 /* Attributes applied by PMake */  /* Attributes applied by PMake */
 #define OP_TRANSFORM    0x80000000  /* The node is a transformation rule */  #define OP_TRANSFORM    0x00040000  /* The node is a transformation rule */
 #define OP_MEMBER       0x40000000  /* Target is a member of an archive */  #define OP_MEMBER       0x00080000  /* Target is a member of an archive */
 #define OP_LIB          0x20000000  /* Target is a library */  #define OP_LIB          0x00100000  /* Target is a library */
 #define OP_ARCHV        0x10000000  /* Target is an archive construct */  #define OP_ARCHV        0x00200000  /* Target is an archive construct */
 #define OP_HAS_COMMANDS 0x08000000  /* Target has all the commands it should.  #define OP_HAS_COMMANDS 0x00400000  /* Target has all the commands it should.
                                      * Used when parsing to catch multiple                                       * Used when parsing to catch multiple
                                      * commands for a target */                                       * commands for a target */
 #define OP_DEPS_FOUND   0x02000000  /* Already processed by Suff_FindDeps */  #define OP_DEPS_FOUND   0x00800000  /* Already processed by Suff_FindDeps */
 #define OP_RESOLVED     0x01000000  /* We looked harder already */  #define OP_RESOLVED     0x01000000  /* We looked harder already */
   
 /*  /*

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14