diff options
author | fjoe <fjoe@FreeBSD.org> | 2007-11-25 20:43:27 +0000 |
---|---|---|
committer | fjoe <fjoe@FreeBSD.org> | 2007-11-25 20:43:27 +0000 |
commit | 5864a961653eb9afd806f675b08ad584ce78c5a5 (patch) | |
tree | b539119d01e1bd57a1b8bbc7018b90b981d17d10 | |
parent | 625e38eddc8b523d10948382f838410bcea38748 (diff) | |
download | FreeBSD-src-5864a961653eb9afd806f675b08ad584ce78c5a5.zip FreeBSD-src-5864a961653eb9afd806f675b08ad584ce78c5a5.tar.gz |
Fix -jX when makefiles are remade.
-rw-r--r-- | usr.bin/make/main.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/usr.bin/make/main.c b/usr.bin/make/main.c index fea2193..b683f85 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); + } + } } } |