Browse Source

[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>
tags/v1.20.1
Michael Brown 11 years ago
parent
commit
4413ab4f5a
2 changed files with 4 additions and 17 deletions
  1. 2
    2
      src/Makefile.housekeeping
  2. 2
    15
      src/include/compiler.h

+ 2
- 2
src/Makefile.housekeeping View File

533
 #
533
 #
534
 COMPILE_c	= $(CC) $(CFLAGS) $(CFLAGS_c) $(OBJ_CFLAGS)
534
 COMPILE_c	= $(CC) $(CFLAGS) $(CFLAGS_c) $(OBJ_CFLAGS)
535
 RULE_c		= $(Q)$(COMPILE_c) -c $< -o $@ $(POST_O)
535
 RULE_c		= $(Q)$(COMPILE_c) -c $< -o $@ $(POST_O)
536
-RULE_c_to_dbg%.o = $(Q)$(COMPILE_c) -Ddebug_$(subst -,_,$(OBJECT))=$* -c $< -o $@ $(POST_O)
536
+RULE_c_to_dbg%.o = $(Q)$(COMPILE_c) -DDBGLVL_MAX=$* -c $< -o $@ $(POST_O)
537
 RULE_c_to_c	= $(Q)$(COMPILE_c) -E -c $< > $@
537
 RULE_c_to_c	= $(Q)$(COMPILE_c) -E -c $< > $@
538
 RULE_c_to_s	= $(Q)$(COMPILE_c) -S -g0 -c $< -o $@
538
 RULE_c_to_s	= $(Q)$(COMPILE_c) -S -g0 -c $< -o $@
539
 
539
 
540
 PREPROCESS_S	= $(CPP) $(CFLAGS) $(CFLAGS_S) $(OBJ_CFLAGS)
540
 PREPROCESS_S	= $(CPP) $(CFLAGS) $(CFLAGS_S) $(OBJ_CFLAGS)
541
 ASSEMBLE_S	= $(AS) $(ASFLAGS)
541
 ASSEMBLE_S	= $(AS) $(ASFLAGS)
542
 RULE_S		= $(Q)$(PREPROCESS_S) $< | $(ASSEMBLE_S) -o $@
542
 RULE_S		= $(Q)$(PREPROCESS_S) $< | $(ASSEMBLE_S) -o $@
543
-RULE_S_to_dbg%.o = $(Q)$(PREPROCESS_S) -Ddebug_$(subst -,_,$(OBJECT))=$* $< | $(ASSEMBLE_S) -o $@
543
+RULE_S_to_dbg%.o = $(Q)$(PREPROCESS_S) -DDBGLVL_MAX=$* $< | $(ASSEMBLE_S) -o $@
544
 RULE_S_to_s	= $(Q)$(PREPROCESS_S) $< > $@
544
 RULE_S_to_s	= $(Q)$(PREPROCESS_S) $< > $@
545
 
545
 
546
 DEBUG_TARGETS	+= dbg%.o c s
546
 DEBUG_TARGETS	+= dbg%.o c s

+ 2
- 15
src/include/compiler.h View File

250
  *
250
  *
251
  */
251
  */
252
 
252
 
253
-/*
254
- * If debug_OBJECT is set to a true value, the macro DBG(...) will
255
- * expand to printf(...) when compiling OBJECT, and the symbol
256
- * DEBUG_LEVEL will be inserted into the object file.
257
- *
258
- */
259
-#define DEBUG_SYMBOL PREFIX_OBJECT ( debug_ )
260
-
261
-#if DEBUG_SYMBOL == 0
253
+#ifndef DBGLVL_MAX
262
 #define NDEBUG
254
 #define NDEBUG
255
+#define DBGLVL_MAX 0
263
 #endif
256
 #endif
264
 
257
 
265
 #ifndef ASSEMBLY
258
 #ifndef ASSEMBLY
276
 extern void dbg_pause ( void );
269
 extern void dbg_pause ( void );
277
 extern void dbg_more ( void );
270
 extern void dbg_more ( void );
278
 
271
 
279
-#if DEBUG_SYMBOL
280
-#define DBGLVL_MAX DEBUG_SYMBOL
281
-#else
282
-#define DBGLVL_MAX 0
283
-#endif
284
-
285
 /* Allow for selective disabling of enabled debug levels */
272
 /* Allow for selective disabling of enabled debug levels */
286
 #if DBGLVL_MAX
273
 #if DBGLVL_MAX
287
 int __debug_disable;
274
 int __debug_disable;

Loading…
Cancel
Save