summaryrefslogtreecommitdiff
path: root/usr.bin/make/gnode.h
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>2012-10-02 10:29:32 +0000
committerMarc Espie <espie@cvs.openbsd.org>2012-10-02 10:29:32 +0000
commitf52927cb1ba328594c8f4b934c14bca4916ef8e5 (patch)
tree14c58f1946f28de41a69025afb0f588293831ec2 /usr.bin/make/gnode.h
parent6624e8c7ba7439673221e27b9603d172cd60d99a (diff)
more changes, discussed and tested by various people.
- put back some job control, turns out it's necessary when we don't run a shell. - zap old #ifdef CLEANUP code... probably doesn't even compile. - kill most of the OP_LIB code. Just keep a wee little bit for compatibility (deprecated .LIBS and .INCLUDES, warns for weird dependencies instead of erroring out). - much improved debugging and -p output: sort variables, targets, rules, output stuff in a nicer format mimicing input. - better error message when no command is found, explain where the target comes from. - sort final error list by file. - show system files in errors as <bsd.prog.mk> - reincorporate random delay, that was dropped - optimize siginfo output by not regenerating the whole string each time. - finish zapping old LocationInfo field that's no longer used.
Diffstat (limited to 'usr.bin/make/gnode.h')
-rw-r--r--usr.bin/make/gnode.h31
1 files changed, 29 insertions, 2 deletions
diff --git a/usr.bin/make/gnode.h b/usr.bin/make/gnode.h
index 047e753e8f9..b24330b286a 100644
--- a/usr.bin/make/gnode.h
+++ b/usr.bin/make/gnode.h
@@ -1,6 +1,6 @@
#ifndef GNODE_H
#define GNODE_H
-/* $OpenBSD: gnode.h,v 1.20 2012/09/21 07:55:20 espie Exp $ */
+/* $OpenBSD: gnode.h,v 1.21 2012/10/02 10:29:30 espie Exp $ */
/*
* Copyright (c) 2001 Marc Espie.
@@ -79,6 +79,7 @@ struct Suff_;
#define CYCLE 6
#define ENDCYCLE 7
#define NOSUCHNODE 8
+#define BUILDING 9
#define SPECIAL_NONE 0U
#define SPECIAL_PATH 21U
@@ -87,6 +88,32 @@ struct Suff_;
#define SPECIAL_SOURCE 128U
#define SPECIAL_TARGETSOURCE (SPECIAL_TARGET|SPECIAL_SOURCE)
+#define SPECIAL_EXEC 4U
+#define SPECIAL_IGNORE 5U
+#define SPECIAL_INVISIBLE 8U
+#define SPECIAL_JOIN 9U
+#define SPECIAL_MADE 11U
+#define SPECIAL_MAIN 12U
+#define SPECIAL_MAKE 13U
+#define SPECIAL_MFLAGS 14U
+#define SPECIAL_NOTMAIN 15U
+#define SPECIAL_NOTPARALLEL 16U
+#define SPECIAL_OPTIONAL 18U
+#define SPECIAL_ORDER 19U
+#define SPECIAL_PARALLEL 20U
+#define SPECIAL_PHONY 22U
+#define SPECIAL_PRECIOUS 23U
+#define SPECIAL_SILENT 25U
+#define SPECIAL_SINGLESHELL 26U
+#define SPECIAL_SUFFIXES 27U
+#define SPECIAL_USE 28U
+#define SPECIAL_WAIT 29U
+#define SPECIAL_NOPATH 30U
+#define SPECIAL_ERROR 31U
+#define SPECIAL_CHEAP 32U
+#define SPECIAL_EXPENSIVE 33U
+#define SPECIAL_DEPRECATED 6U
+
struct GNode_ {
unsigned int special_op; /* special op to apply */
unsigned char special;/* type of special node */
@@ -97,6 +124,7 @@ struct GNode_ {
* on this node:
* UNKNOWN - Not examined yet
* BEINGMADE - Target is currently being made.
+ * BUILDING - There is a job running
* MADE - Was out-of-date and has been made
* UPTODATE - Was already up-to-date
* ERROR - An error occurred while it was being
@@ -130,7 +158,6 @@ struct GNode_ {
LIST preds; /* Nodes that must be made before this one */
SymTable context; /* The local variables */
- Location origin; /* First line number and file name of commands. */
LIST commands; /* Creation commands */
struct Suff_ *suffix;/* Suffix for the node (determined by
* Suff_FindDeps and opaque to everyone