summaryrefslogtreecommitdiff
path: root/usr.bin/make
diff options
context:
space:
mode:
authorMax Khon <fjoe@FreeBSD.org>2007-11-29 04:20:19 +0000
committerMax Khon <fjoe@FreeBSD.org>2007-11-29 04:20:19 +0000
commit190aa7c4ceb697ddde05cca2a2384ad84b4c9846 (patch)
tree869544642f20a99c4b73ad16cf245ba93560ac57 /usr.bin/make
parent6d36b5c0b39a829a8c70e6cea0db2361a6158222 (diff)
Notes
Diffstat (limited to 'usr.bin/make')
-rw-r--r--usr.bin/make/main.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c
index fea219306689..b683f8547cf6 100644
--- a/usr.bin/make/main.c
+++ b/usr.bin/make/main.c
@@ -808,6 +808,22 @@ Remake_Makefiles(void)
printf("`%s' not remade because of errors.\n",
gn->name);
error_cnt++;
+ } else if (gn->made == UPTODATE) {
+ Lst examine;
+
+ Lst_Init(&examine);
+ Lst_EnQueue(&examine, gn);
+ while (!Lst_IsEmpty(&examine)) {
+ LstNode *eln;
+ GNode *egn = Lst_DeQueue(&examine);
+
+ egn->make = FALSE;
+ LST_FOREACH(eln, &egn->children) {
+ GNode *cgn = Lst_Datum(eln);
+
+ Lst_EnQueue(&examine, cgn);
+ }
+ }
}
}