diff --git a/src/Makefile b/src/Makefile index 08cb6dbd..a3a6c391 100644 --- a/src/Makefile +++ b/src/Makefile @@ -71,9 +71,11 @@ SIZE ?= $(CROSS_COMPILE)size AR ?= $(CROSS_COMPILE)ar RANLIB ?= $(CROSS_COMPILE)ranlib OBJCOPY ?= $(CROSS_COMPILE)objcopy +NM ?= $(CROSS_COMPILE)nm PARSEROM ?= $(PERL) ./util/parserom.pl MAKEROM ?= $(PERL) ./util/makerom.pl MKCONFIG ?= $(PERL) ./util/mkconfig.pl +SYMCHECK ?= $(PERL) ./util/symcheck.pl NRV2B ?= ./util/nrv2b # Location to place generated files @@ -111,6 +113,7 @@ $(BIN)/%.flags : 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_c = $(COMPILE_c) -E -c $< > $@ RULE_c_to_s = $(COMPILE_c) -S -c $< -o $@ @@ -119,7 +122,7 @@ ASSEMBLE_S = $(AS) $(ASFLAGS) RULE_S = $(PREPROCESS_S) $< | $(ASSEMBLE_S) -o $@ RULE_S_to_s = $(PREPROCESS_S) $< > $@ -DEBUG_TARGETS += dbg.o c s +DEBUG_TARGETS += dbg2.o dbg.o c s # SRCDIRS lists all directories containing source files. # diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping index c8ad0585..0d13481d 100644 --- a/src/Makefile.housekeeping +++ b/src/Makefile.housekeeping @@ -225,9 +225,13 @@ TGT_MAKEROM_FLAGS = $(strip $(MAKEROM_FLAGS_$(TGT_ROM_NAME)) \ # the target. # COMMA := , -DEBUG_OBJS = $(foreach D,$(subst $(COMMA), ,$(DEBUG)),$(BIN)/$(D).dbg.o) -DEBUG_REPLACE_OBJS = $(foreach D,$(subst $(COMMA), ,$(DEBUG)),$(BIN)/$(D).o) -BLIB_OBJS = $(DEBUG_OBJS) $(filter-out $(DEBUG_REPLACE_OBJS),$(BOBJS)) +DEBUG_LIST = $(subst $(COMMA), ,$(DEBUG)) +DEBUG_OBJ_BASE = $(word 1,$(subst :, ,$(1))).dbg$(word 2,$(subst :, ,$(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_ORIG_OBJS = $(foreach D,$(DEBUG_LIST),$(call DEBUG_ORIG_OBJ,$(D))) +BLIB_OBJS = $(DEBUG_OBJS) $(filter-out $(DEBUG_ORIG_OBJS),$(BOBJS)) # Print out all derived information for a given target. # @@ -251,7 +255,7 @@ $(BIN)/%.info : @echo 'makerom target flags : $(TGT_MAKEROM_FLAGS)' @echo @echo 'Debugging objects : $(DEBUG_OBJS)' - @echo 'Replaced objects : $(DEBUG_REPLACE_OBJS)' + @echo 'Replaced objects : $(DEBUG_ORIG_OBJS)' # List of objects included in the last build of blib. This is needed # in order to correctly rebuild blib whenever the list of objects