david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[build] Allow for a debug level of zero

Allow for an explicit debug level of zero, which will enable
assertions and profiling (i.e. anything controlled by NDEBUG) without
generating any debug messages.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
Michael Brown 2014-04-28 14:43:19 +01:00
parent 4e78733094
commit 4413ab4f5a
2 changed files with 4 additions and 17 deletions

View File

@ -533,14 +533,14 @@ endif
#
COMPILE_c = $(CC) $(CFLAGS) $(CFLAGS_c) $(OBJ_CFLAGS)
RULE_c = $(Q)$(COMPILE_c) -c $< -o $@ $(POST_O)
RULE_c_to_dbg%.o = $(Q)$(COMPILE_c) -Ddebug_$(subst -,_,$(OBJECT))=$* -c $< -o $@ $(POST_O)
RULE_c_to_dbg%.o = $(Q)$(COMPILE_c) -DDBGLVL_MAX=$* -c $< -o $@ $(POST_O)
RULE_c_to_c = $(Q)$(COMPILE_c) -E -c $< > $@
RULE_c_to_s = $(Q)$(COMPILE_c) -S -g0 -c $< -o $@
PREPROCESS_S = $(CPP) $(CFLAGS) $(CFLAGS_S) $(OBJ_CFLAGS)
ASSEMBLE_S = $(AS) $(ASFLAGS)
RULE_S = $(Q)$(PREPROCESS_S) $< | $(ASSEMBLE_S) -o $@
RULE_S_to_dbg%.o = $(Q)$(PREPROCESS_S) -Ddebug_$(subst -,_,$(OBJECT))=$* $< | $(ASSEMBLE_S) -o $@
RULE_S_to_dbg%.o = $(Q)$(PREPROCESS_S) -DDBGLVL_MAX=$* $< | $(ASSEMBLE_S) -o $@
RULE_S_to_s = $(Q)$(PREPROCESS_S) $< > $@
DEBUG_TARGETS += dbg%.o c s

View File

@ -250,16 +250,9 @@ REQUEST_EXPANDED ( CONFIG_SYMBOL );
*
*/
/*
* If debug_OBJECT is set to a true value, the macro DBG(...) will
* expand to printf(...) when compiling OBJECT, and the symbol
* DEBUG_LEVEL will be inserted into the object file.
*
*/
#define DEBUG_SYMBOL PREFIX_OBJECT ( debug_ )
#if DEBUG_SYMBOL == 0
#ifndef DBGLVL_MAX
#define NDEBUG
#define DBGLVL_MAX 0
#endif
#ifndef ASSEMBLY
@ -276,12 +269,6 @@ extern void dbg_md5_da ( unsigned long dispaddr,
extern void dbg_pause ( void );
extern void dbg_more ( void );
#if DEBUG_SYMBOL
#define DBGLVL_MAX DEBUG_SYMBOL
#else
#define DBGLVL_MAX 0
#endif
/* Allow for selective disabling of enabled debug levels */
#if DBGLVL_MAX
int __debug_disable;