From 09689c6ffdf0cd476cc9ff645852740abc1ed261 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 20 Sep 2020 17:02:44 -0400 Subject: Port scan_includes.c from pokepicross --- Makefile | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index dad5b16..da3e74b 100644 --- a/Makefile +++ b/Makefile @@ -26,6 +26,8 @@ RGBLINK ?= $(RGBDS)rgblink RGBASMFLAGS := -h -E -i $(BUILD)/ -DGOLD +SCAN_INCLUDES := tools/scan_includes + tools/gfx := @@ -41,19 +43,19 @@ compare: $(ROM) $(CORRECTEDROM) $(MD5) roms.md5 .PHONY: tools -tools tools/pkmncompress tools/gfx: +tools tools/pkmncompress tools/gfx tools/scan_includes: "$(MAKE)" -C tools/ # Remove files generated by the build process. .PHONY: clean clean: - rm -rf $(ROM) $(CORRECTEDROM) $(BUILD) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) *.d + rm -rf $(ROM) $(CORRECTEDROM) $(BUILD) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) "$(MAKE)" -C tools clean # Remove generated files except for graphics. .PHONY: tidy tidy: - rm -rf $(ROM) $(CORRECTEDROM) $(OBJS) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) *.d + rm -rf $(ROM) $(CORRECTEDROM) $(OBJS) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) # Visualize disassembly progress. .PHONY: coverage @@ -68,8 +70,8 @@ $(CORRECTEDROM): %-correctheader.gb: %.gb cp $(<:.gb=.sym) $(@:.gb=.sym) $(RGBFIX) -f hg -m 0x10 $@ -$(ROM): poke%-spaceworld.gb: $(OBJS) | $(BASEROM) - $(RGBLINK) -d -n $(@:.gb=.sym) -m $(@:.gb=.map) -l layout.link -O $(BASEROM) -o $@ $^ +$(ROM): poke%-spaceworld.gb: layout.link $(OBJS) | $(BASEROM) + $(RGBLINK) -d -n $(@:.gb=.sym) -m $(@:.gb=.map) -l layout.link -O $(BASEROM) -o $@ $(filter-out $<, $^) $(RGBFIX) -f lh -k 01 -l 0x33 -m 0x03 -p 0 -r 3 -t "POKEMON2$(shell echo $* | cut -d _ -f 1 | tr '[:lower:]' '[:upper:]')" $@ $(BASEROM): @@ -85,6 +87,9 @@ $(BUILD)/%.o: $(BUILD)/%.asm | $$(dir $$@) $(BUILD)/%.o: %.asm | $$(dir $$@) $(RGBASM) $(RGBASMFLAGS) $(OUTPUT_OPTION) $< +$(BUILD)/%.d: %.asm | $$(dir $$@) $(SCAN_INCLUDES) + @$(SCAN_INCLUDES) -b $(BUILD)/ -i $(BUILD)/ -i ./ -o $@ -t $(@:.d=.o) $< + ### Misc file-specific graphics rules @@ -137,8 +142,6 @@ $(BUILD)/%.tilemap: %.png | $$(dir $$@) ### Scan .asm files for INCLUDE dependencies -DEPENDENCY_SCAN_EXIT_STATUS := $(shell $(PYTHON) tools/scan_includes.py $(BUILD:%=-b %) $(ASMFILES) > dependencies.d; echo $$?) -ifneq ($(DEPENDENCY_SCAN_EXIT_STATUS), 0) -$(error Dependency scan failed) +ifeq (,$(filter clean tools,$(MAKECMDGOALS))) +-include $(patsubst %.o, %.d, $(OBJS)) endif -include dependencies.d -- cgit v1.2.3