summaryrefslogtreecommitdiffstats
path: root/usr.bin/make/make.c
diff options
context:
space:
mode:
authorsteve <steve@FreeBSD.org>1996-10-06 02:35:38 +0000
committersteve <steve@FreeBSD.org>1996-10-06 02:35:38 +0000
commit49662693d9f1e004b037bebf6cc4663e64ae7baa (patch)
treeab5bd5270becce85fa203b4b54d26c39fa7c14bc /usr.bin/make/make.c
parent7dcbb4192b730b0ebfec18a71b61cd487c61320a (diff)
downloadFreeBSD-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.c15
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) {
OpenPOWER on IntegriCloud