diff options
-rw-r--r-- | usr.bin/make/compat.c | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/usr.bin/make/compat.c b/usr.bin/make/compat.c index e926575a156..207aa9f7458 100644 --- a/usr.bin/make/compat.c +++ b/usr.bin/make/compat.c @@ -1,4 +1,4 @@ -/* $OpenBSD: compat.c,v 1.6 1997/04/20 22:28:25 millert Exp $ */ +/* $OpenBSD: compat.c,v 1.7 1997/04/21 08:37:49 deraadt Exp $ */ /* $NetBSD: compat.c,v 1.18 1997/03/28 22:31:22 christos Exp $ */ /* @@ -43,7 +43,7 @@ #if 0 static char sccsid[] = "@(#)compat.c 8.2 (Berkeley) 3/19/94"; #else -static char rcsid[] = "$OpenBSD: compat.c,v 1.6 1997/04/20 22:28:25 millert Exp $"; +static char rcsid[] = "$OpenBSD: compat.c,v 1.7 1997/04/21 08:37:49 deraadt Exp $"; #endif #endif /* not lint */ @@ -367,9 +367,12 @@ CompatMake (gnp, pgnp) GNode *gn = (GNode *) gnp; GNode *pgn = (GNode *) pgnp; - if (gn->type & OP_USE) { - Make_HandleUse(gn, pgn); - } else if (gn->made == UNMADE) { + if (pgn->type & OP_MADE) { + (void) Dir_MTime(gn); + gn->made = UPTODATE; + } + + if (gn->made == UNMADE) { /* * First mark ourselves to be made, then apply whatever transformations * the suffix module thinks are necessary. Once that's done, we can @@ -629,6 +632,12 @@ Compat_Run(targs) } /* + * Expand .USE nodes right now, because they can modify the structure + * of the tree. + */ + Lst_Destroy(Make_ExpandUse(targs), NOFREE); + + /* * For each entry in the list of targets to create, call CompatMake on * it to create the thing. CompatMake will leave the 'made' field of gn * in one of several states: |