version 1.48, 2007/11/10 12:51:40 |
version 1.49, 2007/11/10 13:59:48 |
|
|
GNode *succ = (GNode *)Lst_Datum(ln); |
GNode *succ = (GNode *)Lst_Datum(ln); |
|
|
if (succ->must_make && succ->unmade == 0 |
if (succ->must_make && succ->unmade == 0 |
&& succ->built_status == UNMADE) |
&& succ->built_status == UNKNOWN) |
(void)Lst_QueueNew(&toBeMade, succ); |
(void)Lst_QueueNew(&toBeMade, succ); |
} |
} |
} |
} |
|
|
for (ln = Lst_First(&gn->preds); ln != NULL; ln = Lst_Adv(ln)){ |
for (ln = Lst_First(&gn->preds); ln != NULL; ln = Lst_Adv(ln)){ |
GNode *pgn = (GNode *)Lst_Datum(ln); |
GNode *pgn = (GNode *)Lst_Datum(ln); |
|
|
if (pgn->must_make && pgn->built_status == UNMADE) { |
if (pgn->must_make && pgn->built_status == UNKNOWN) { |
if (DEBUG(MAKE)) |
if (DEBUG(MAKE)) |
printf( |
printf( |
"predecessor %s not made yet.\n", |
"predecessor %s not made yet.\n", |
|
|
Error("Graph cycles through `%s'", gn->name); |
Error("Graph cycles through `%s'", gn->name); |
gn->built_status = ENDCYCLE; |
gn->built_status = ENDCYCLE; |
Lst_ForEach(&gn->children, MakePrintStatus, &t); |
Lst_ForEach(&gn->children, MakePrintStatus, &t); |
gn->built_status = UNMADE; |
gn->built_status = UNKNOWN; |
} else if (gn->built_status != ENDCYCLE) { |
} else if (gn->built_status != ENDCYCLE) { |
gn->built_status = CYCLE; |
gn->built_status = CYCLE; |
Lst_ForEach(&gn->children, MakePrintStatus, &t); |
Lst_ForEach(&gn->children, MakePrintStatus, &t); |