diff options
author | Marc Espie <espie@cvs.openbsd.org> | 2012-10-02 10:29:32 +0000 |
---|---|---|
committer | Marc Espie <espie@cvs.openbsd.org> | 2012-10-02 10:29:32 +0000 |
commit | f52927cb1ba328594c8f4b934c14bca4916ef8e5 (patch) | |
tree | 14c58f1946f28de41a69025afb0f588293831ec2 /usr.bin/make/gnode.h | |
parent | 6624e8c7ba7439673221e27b9603d172cd60d99a (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.h | 31 |
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 |