diff options
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 59 |
1 files changed, 41 insertions, 18 deletions
@@ -1,20 +1,31 @@ -BUILD := build +include config.mk + +BUILDBASE := build +BUILD := $(BUILDBASE) MD5 := md5sum -c PYTHON := python +PYTHON3 := python3.6 -RGBASM := rgbasm +RGBASM := rgbasm -D$(GAME_VERSION)=1 -DDEBUG=$(DEBUG) RGBGFX := rgbgfx RGBLINK := rgblink RGBFIX := rgbfix RGBASMFLAGS := -h -E -i $(BUILD)/ tools/gfx := +tools/make_shim := +sort_sym := tools/sort_symfile.sh +#sort_sym := $(PYTHON3) tools/sort_sym.py -ROMS := pokegold-spaceworld.gb +ROM := poke$(BUILD_NAME)-spaceworld.gb +ROMS := $(foreach r, gold gold_debug silver silver_debug, poke$(r)-spaceworld.gb) +# Pokemon Gold Debug BASEROM := baserom.gb DIRS := home engine data audio OBJS := $(addprefix $(BUILD)/, gfx.o sram.o wram.o hram.o shim.o) +SHIM := shim.sym +CORRECTEDROM := $(ROM:%.gb=%-correctheader.gb) CORRECTEDROMS := $(ROMS:%.gb=%-correctheader.gb) rwildcard = $(foreach d, $(wildcard $1*), $(filter $(subst *, %, $2), $d) $(call rwildcard, $d/, $2)) @@ -30,7 +41,7 @@ GFX := $(patsubst %.png, $(BUILD)/%.2bpp, \ .SECONDEXPANSION: .PHONY: all -all: $(ROMS) $(CORRECTEDROMS) compare +all: $(ROM) $(CORRECTEDROM) compare .PHONY: compare compare: $(ROMS) @@ -41,13 +52,13 @@ tools tools/pkmncompress tools/gfx: $(MAKE) -C tools/ .PHONY: coverage -coverage: tools/disasm_coverage.py $(ROMS) - $(PYTHON) $< -m $(ROMS:.gb=.map) -b 0x40 +coverage: tools/disasm_coverage.py $(ROM) + $(PYTHON3) $< -m $(ROM:.gb=.map) -b 0x40 # Remove files generated by the build process. .PHONY: clean clean: - rm -rf $(ROMS) $(BUILD) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) $(CORRECTEDROMS) + rm -rf $(ROMS) $(CORRECTEDROMS) $(BUILDBASE) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) $(CORRECTEDROMS) make -C tools clean # Remove files except for graphics. @@ -56,21 +67,20 @@ mostlyclean: rm -rf $(ROMS) $(OBJS) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) $(CORRECTEDROMS) find . \( -iname '*.d' \) -exec rm {} + -$(ROMS): $(OBJS) | baserom.gb +$(ROM): $(OBJS) | $(BASEROM) $(RGBLINK) -d -n $(@:.gb=.sym) -m $(@:.gb=.map) -O $(BASEROM) -o $@ $^ - $(RGBFIX) -f lh -k 01 -l 0x33 -m 0x03 -p 0 -r 3 -t "POKEMON2GOLD" $@ - tools/sort_symfile.sh $(@:.gb=.sym) + $(RGBFIX) -f lh -k 01 -l 0x33 -m 0x03 -p 0 -r 3 -t "POKEMON2$(GAME_VERSION)" $@ + $(sort_sym) $(@:.gb=.sym) -baserom.gb: +$(BASEROM): @echo "Please obtain a copy of Gold_debug.sgb and put it in this directory as $@" @exit 1 -$(CORRECTEDROMS): %-correctheader.gb: %.gb +$(BUILD)/shim.asm: tools/make_shim $(SHIM) tools/make_shim | $$(dir $$@) + tools/make_shim -w $(filter-out $<, $^) > $@ +$(CORRECTEDROM): %-correctheader.gb: %.gb cp $< $@ - $(RGBFIX) -f h -m 0x10 $@ - -$(BUILD)/shim.asm: tools/make_shim.py shim.sym | $$(dir $$@) - $(PYTHON) tools/make_shim.py -w -- $(filter-out $<, $^) > $@ + $(RGBFIX) -f hg -m 0x10 $@ $(BUILD)/gfx.o: | $(GFX) $(BUILD)/%.o: $(BUILD)/%.asm | $$(dir $$@) @@ -79,8 +89,10 @@ $(BUILD)/%.o: %.asm | $$(dir $$@) $(RGBASM) $(RGBASMFLAGS) -M $(@:.o=.d) $(OUTPUT_OPTION) $< $(BUILD)/gfx/sgb/sgb_border_alt.2bpp: tools/gfx += --trim-whitespace -$(BUILD)/gfx/sgb/sgb_border.2bpp: tools/gfx += --trim-whitespace -$(BUILD)/gfx/title/title.2bpp: tools/gfx += --trim-whitespace +$(BUILD)/gfx/sgb/sgb_border_gold.2bpp: tools/gfx += --trim-whitespace +$(BUILD)/gfx/sgb/sgb_border_silver.2bpp: tools/gfx += --trim-whitespace +$(BUILD)/gfx/title/title_gold.2bpp: tools/gfx += --trim-whitespace +$(BUILD)/gfx/title/title_silver.2bpp: tools/gfx += --trim-whitespace $(BUILD)/gfx/trainer_card/leaders.2bpp: tools/gfx += --trim-whitespace $(BUILD)/gfx/trainer_card/trainer_card.2bpp: tools/gfx += --trim-whitespace $(BUILD)/gfx/minigames/slots.2bpp: tools/gfx += --trim-whitespace @@ -110,3 +122,14 @@ $(BUILD)/%.tilemap: %.png | $$(dir $$@) mkdir -p $@ -include $(call rwildcard, $(BUILD)/, *.d) + +#gold: ; @$(MAKE) GAME_VERSION=GOLD +#gold_debug: ; @$(MAKE) GAME_VERSION=GOLD DEBUG=1 +#silver: ; @$(MAKE) GAME_VERSION=SILVER +#silver_debug: ; @$(MAKE) GAME_VERSION=SILVER DEBUG=1 +#compare: ; +# @$(MAKE) GAME_VERSION=GOLD COMPARE=1 +# @$(MAKE) GAME_VERSION=GOLD DEBUG=1 COMPARE=1 +# @$(MAKE) GAME_VERSION=SILVER COMPARE=1 +# @$(MAKE) GAME_VERSION=SILVER DEBUG=1 COMPARE=1 +# @$(MD5) roms.md5 |
