diff options
| author | Rangi <remy.oukaour+rangi@gmail.com> | 2020-09-20 17:02:44 -0400 |
|---|---|---|
| committer | Rangi <remy.oukaour+rangi@gmail.com> | 2020-09-20 17:02:44 -0400 |
| commit | 09689c6ffdf0cd476cc9ff645852740abc1ed261 (patch) | |
| tree | 6b048dd0f6031da3c482cb6f33e5d57a74dcea4c /Makefile | |
| parent | 7e49b5ebc62f00d82901ba54b73e89f06c1d8852 (diff) | |
Port scan_includes.c from pokepicross
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -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 |
