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

Diff for /src/usr.bin/make/compat.c between version 1.77 and 1.78

version 1.77, 2012/09/21 07:55:20 version 1.78, 2012/11/24 11:03:45
Line 86 
Line 86 
          */           */
         if (gn == pgn)          if (gn == pgn)
                 return;                  return;
           /* handle .USE right away */
           if (gn->type & OP_USE) {
                   Make_HandleUse(gn, pgn);
                   return;
           }
   
         look_harder_for_target(gn);          look_harder_for_target(gn);
   
         if (pgn != NULL && is_sibling(gn, pgn))          if (pgn != NULL && is_sibling(gn, pgn))
Line 103 
Line 109 
                 } while (sib != gn);                  } while (sib != gn);
         }          }
   
         if (gn->type & OP_USE) {          switch(gn->built_status) {
                 Make_HandleUse(gn, pgn);          case UNKNOWN:
         } else if (gn->built_status == UNKNOWN) {  
                 /* First mark ourselves to be made, then apply whatever                  /* First mark ourselves to be made, then apply whatever
                  * transformations the suffix module thinks are necessary.                   * transformations the suffix module thinks are necessary.
                  * Once that's done, we can descend and make all our children.                   * Once that's done, we can descend and make all our children.
Line 232 
Line 237 
                         print_errors();                          print_errors();
                         exit(1);                          exit(1);
                 }                  }
         } else if (gn->built_status == ERROR)                  break;
           case ERROR:
                 /* Already had an error when making this beastie. Tell the                  /* Already had an error when making this beastie. Tell the
                  * parent to abort.  */                   * parent to abort.  */
                 pgn->must_make = false;                  pgn->must_make = false;
         else {                  break;
                 switch (gn->built_status) {          case BEINGMADE:
                 case BEINGMADE:                  Error("Graph cycles through %s", gn->name);
                         Error("Graph cycles through %s", gn->name);                  gn->built_status = ERROR;
                         gn->built_status = ERROR;                  pgn->must_make = false;
                         pgn->must_make = false;                  break;
                         break;          case MADE:
                 case MADE:                  if ((gn->type & OP_EXEC) == 0) {
                         if ((gn->type & OP_EXEC) == 0) {                          pgn->childMade = true;
                                 pgn->childMade = true;                          Make_TimeStamp(pgn, gn);
                                 Make_TimeStamp(pgn, gn);  
                         }  
                         break;  
                 case UPTODATE:  
                         if ((gn->type & OP_EXEC) == 0)  
                                 Make_TimeStamp(pgn, gn);  
                         break;  
                 default:  
                         break;  
                 }                  }
                   break;
           case UPTODATE:
                   if ((gn->type & OP_EXEC) == 0)
                           Make_TimeStamp(pgn, gn);
                   break;
           default:
                   break;
         }          }
 }  }
   

Legend:
Removed from v.1.77  
changed lines
  Added in v.1.78