Allow truly arbitrary debug levels to be specified via DEBUG=
authorMichael Brown <mcb30@etherboot.org>
Thu, 18 Jan 2007 19:00:09 +0000 (19:00 +0000)
committerMichael Brown <mcb30@etherboot.org>
Thu, 18 Jan 2007 19:00:09 +0000 (19:00 +0000)
src/Makefile
src/Makefile.housekeeping

index c75e95b..7c8af3f 100644 (file)
@@ -116,8 +116,7 @@ $(BIN)/%.flags :
 #
 COMPILE_c      = $(CC) $(CFLAGS) $(CFLAGS_c) $(OBJ_CFLAGS)
 RULE_c         = $(COMPILE_c) -c $< -o $@
 #
 COMPILE_c      = $(CC) $(CFLAGS) $(CFLAGS_c) $(OBJ_CFLAGS)
 RULE_c         = $(COMPILE_c) -c $< -o $@
-RULE_c_to_dbg.o        = $(COMPILE_c) -Ddebug_$(OBJECT) -c $< -o $@
-RULE_c_to_dbg2.o = $(COMPILE_c) -Ddebug_$(OBJECT)=2 -c $< -o $@
+RULE_c_to_dbg%.o = $(COMPILE_c) -Ddebug_$(OBJECT)=$* -c $< -o $@
 RULE_c_to_c    = $(COMPILE_c) -E -c $< > $@
 RULE_c_to_s    = $(COMPILE_c) -S -g0 -c $< -o $@ 
 
 RULE_c_to_c    = $(COMPILE_c) -E -c $< > $@
 RULE_c_to_s    = $(COMPILE_c) -S -g0 -c $< -o $@ 
 
@@ -126,7 +125,7 @@ ASSEMBLE_S  = $(AS) $(ASFLAGS)
 RULE_S         = $(PREPROCESS_S) $< | $(ASSEMBLE_S) -o $@
 RULE_S_to_s    = $(PREPROCESS_S) $< > $@
 
 RULE_S         = $(PREPROCESS_S) $< | $(ASSEMBLE_S) -o $@
 RULE_S_to_s    = $(PREPROCESS_S) $< > $@
 
-DEBUG_TARGETS  += dbg2.o dbg.o c s
+DEBUG_TARGETS  += dbg%.o c s
 
 # SRCDIRS lists all directories containing source files.
 #
 
 # SRCDIRS lists all directories containing source files.
 #
index 7c3c4bb..497e69e 100644 (file)
@@ -226,7 +226,8 @@ TGT_MAKEROM_FLAGS = $(strip $(MAKEROM_FLAGS_$(TGT_ROM_NAME)) \
 #
 COMMA          := ,
 DEBUG_LIST     = $(subst $(COMMA), ,$(DEBUG))
 #
 COMMA          := ,
 DEBUG_LIST     = $(subst $(COMMA), ,$(DEBUG))
-DEBUG_OBJ_BASE = $(word 1,$(subst :, ,$(1))).dbg$(word 2,$(subst :, ,$(1)))
+DEBUG_OBJ_LEVEL        = $(firstword $(word 2,$(subst :, ,$(1))) 1)
+DEBUG_OBJ_BASE = $(word 1,$(subst :, ,$(1))).dbg$(call DEBUG_OBJ_LEVEL,$(1))
 DEBUG_OBJ      = $(BIN)/$(call DEBUG_OBJ_BASE,$(1)).o
 DEBUG_ORIG_OBJ = $(BIN)/$(word 1,$(subst :, ,$(1))).o
 DEBUG_OBJS     = $(foreach D,$(DEBUG_LIST),$(call DEBUG_OBJ,$(D)))
 DEBUG_OBJ      = $(BIN)/$(call DEBUG_OBJ_BASE,$(1)).o
 DEBUG_ORIG_OBJ = $(BIN)/$(word 1,$(subst :, ,$(1))).o
 DEBUG_OBJS     = $(foreach D,$(DEBUG_LIST),$(call DEBUG_OBJ,$(D)))