summaryrefslogtreecommitdiff
path: root/usr.bin/make
diff options
context:
space:
mode:
authorMax Khon <fjoe@FreeBSD.org>2007-11-25 20:43:27 +0000
committerMax Khon <fjoe@FreeBSD.org>2007-11-25 20:43:27 +0000
commitcb0ed6eefb5dd4345caa0feb9d3ad4683f1ca63c (patch)
treeb539119d01e1bd57a1b8bbc7018b90b981d17d10 /usr.bin/make
parentda31e3aa0416f41f21cb66d6c3bb44d7063bd0d4 (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);
+ }
+ }
}
}