summaryrefslogtreecommitdiff
path: root/usr.bin/make/make.c
diff options
context:
space:
mode:
authorcgd <cgd@NetBSD.org>1994-03-05 00:34:29 +0000
committercgd <cgd@NetBSD.org>1994-03-05 00:34:29 +0000
commit3db59563ee7dca190481dfee041222f12ed3a64f (patch)
treeee00f5ed3bf2662f98775537e76f6ba74977a1f6 /usr.bin/make/make.c
parent3e02952c52fd23241dc58d7a0165a865dd508bcd (diff)
fixes/improvements from Christos Zoulas <christos@deshaw.com>.
Diffstat (limited to 'usr.bin/make/make.c')
-rw-r--r--usr.bin/make/make.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/usr.bin/make/make.c b/usr.bin/make/make.c
index 56125122387..0f57e69038d 100644
--- a/usr.bin/make/make.c
+++ b/usr.bin/make/make.c
@@ -37,8 +37,8 @@
*/
#ifndef lint
-/*static char sccsid[] = "from: @(#)make.c 5.3 (Berkeley) 6/1/90";*/
-static char rcsid[] = "$Id: make.c,v 1.3 1994/01/13 21:01:57 jtc Exp $";
+/* from: static char sccsid[] = "@(#)make.c 5.3 (Berkeley) 6/1/90"; */
+static char *rcsid = "$Id: make.c,v 1.4 1994/03/05 00:34:58 cgd Exp $";
#endif /* not lint */
/*-
@@ -73,8 +73,10 @@ static char rcsid[] = "$Id: make.c,v 1.3 1994/01/13 21:01:57 jtc Exp $";
* and perform the .USE actions if so.
*/
-#include <stdio.h>
#include "make.h"
+#include "hash.h"
+#include "dir.h"
+#include "job.h"
static Lst toBeMade; /* The current fringe of the graph. These
* are nodes which await examination by
@@ -85,6 +87,10 @@ static int numNodes; /* Number of nodes to be processed. If this
* is non-zero when Job_Empty() returns
* TRUE, there's a cycle in the graph */
+static int MakeAddChild __P((GNode *, Lst));
+static int MakeAddAllSrc __P((GNode *, GNode *));
+static Boolean MakeStartJobs __P((void));
+static int MakePrintStatus __P((GNode *, Boolean));
/*-
*-----------------------------------------------------------------------
* Make_TimeStamp --
@@ -427,7 +433,12 @@ Make_Update (cgn)
* little, so this stuff is commented out unless you're sure it's ok.
* -- ardeb 1/12/88
*/
- if (noExecute || Dir_MTime(cgn) == 0) {
+ /*
+ * Christos, 4/9/92: If we are saving commands pretend that
+ * the target is made now. Otherwise archives with ... rules
+ * don't work!
+ */
+ if (noExecute || (cgn->type & OP_SAVE_CMDS) || Dir_MTime(cgn) == 0) {
cgn->mtime = now;
}
if (DEBUG(MAKE)) {