diff options
author | steve <steve@FreeBSD.org> | 1996-10-06 02:35:38 +0000 |
---|---|---|
committer | steve <steve@FreeBSD.org> | 1996-10-06 02:35:38 +0000 |
commit | 49662693d9f1e004b037bebf6cc4663e64ae7baa (patch) | |
tree | ab5bd5270becce85fa203b4b54d26c39fa7c14bc /usr.bin/make/make.c | |
parent | 7dcbb4192b730b0ebfec18a71b61cd487c61320a (diff) | |
download | FreeBSD-src-49662693d9f1e004b037bebf6cc4663e64ae7baa.zip FreeBSD-src-49662693d9f1e004b037bebf6cc4663e64ae7baa.tar.gz |
Merge in NetBSD's changes to make(1). Changes include:
- Add the .PHONY, .PARALLEL, and .WAIT directives
- Added the -B and -m commandline flags
- misc. man page cleanups
- numerous job-related enhancements
- removed unused header file (bit.h)
- add util.c for functions not found in other envs.
- and a few coordinated whitespace changes
Special thanks to Christos Zoulas <christos@netbsd.org>
for help in the merge. A 'diff -ur' between Net and
FreeBSD now only contains sccsid-related diffs. :)
Obtained from: NetBSD, christos@netbsd.org, and me
Diffstat (limited to 'usr.bin/make/make.c')
-rw-r--r-- | usr.bin/make/make.c | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/usr.bin/make/make.c b/usr.bin/make/make.c index d6959a8..92074fc 100644 --- a/usr.bin/make/make.c +++ b/usr.bin/make/make.c @@ -207,7 +207,7 @@ Make_OODate (gn) printf(".JOIN node..."); } oodate = gn->childMade; - } else if (gn->type & (OP_FORCE|OP_EXEC)) { + } else if (gn->type & (OP_FORCE|OP_EXEC|OP_PHONY)) { /* * A node which is the object of the force (!) operator or which has * the .EXEC attribute is always considered out-of-date. @@ -215,6 +215,8 @@ Make_OODate (gn) if (DEBUG(MAKE)) { if (gn->type & OP_FORCE) { printf("! operator..."); + } else if (gn->type & OP_PHONY) { + printf(".PHONY node..."); } else { printf(".EXEC node..."); } @@ -570,9 +572,16 @@ MakeAddAllSrc (cgnp, pgnp) GNode *pgn = (GNode *) pgnp; if ((cgn->type & (OP_EXEC|OP_USE|OP_INVISIBLE)) == 0) { char *child; - char *p1; + char *p1 = NULL; - child = Var_Value(TARGET, cgn, &p1); + if (OP_NOP(cgn->type)) { + /* + * this node is only source; use the specific pathname for it + */ + child = cgn->path ? cgn->path : cgn->name; + } + else + child = Var_Value(TARGET, cgn, &p1); Var_Append (ALLSRC, child, pgn); if (pgn->type & OP_JOIN) { if (cgn->made == MADE) { |