diff options
| author | PikalaxALT <pikalaxalt@gmail.com> | 2018-06-02 20:16:37 -0400 |
|---|---|---|
| committer | PikalaxALT <pikalaxalt@gmail.com> | 2018-06-02 20:16:37 -0400 |
| commit | 956d010d59ad225bea768aec172ccb56977b1775 (patch) | |
| tree | 4385f7c50ebb09e747f9e2cac4bc900d925060d4 /Makefile | |
| parent | 513028a98e6225e39c53ea64e4f9c483b3abd55b (diff) | |
Make the repository build all four ROMs
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 49 |
1 files changed, 33 insertions, 16 deletions
@@ -1,20 +1,27 @@ -BUILD := build +include config.mk + +BUILDBASE := build +BUILD := $(BUILDBASE)/$(BUILD_NAME) 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 := -ROMS := pokegold-spaceworld.gb -BASEROM := baserom.gb +ROM := poke$(BUILD_NAME)_spaceworld.gb +ROMS := pokegold_spaceworld.gb pokesilver_spaceworld.gb pokegold_debug_spaceworld.gb pokesilver_debug_spaceworld.gb +BASEROM := baserom_$(BUILD_NAME).gb DIRS := home engine data audio OBJS := $(addprefix $(BUILD)/, gfx.o sram.o wram.o hram.o shim.o) +SHIM := shim_$(BUILD_NAME).sym rwildcard = $(foreach d, $(wildcard $1*), $(filter $(subst *, %, $2), $d) $(call rwildcard, $d/, $2)) OBJS += $(patsubst %.asm, $(BUILD)/%.o, $(call rwildcard, $(DIRS), *.asm)) @@ -28,11 +35,7 @@ GFX := $(patsubst %.png, $(BUILD)/%.2bpp, \ .SECONDEXPANSION: .PHONY: all -all: $(ROMS) compare - -.PHONY: compare -compare: $(ROMS) - $(MD5) roms.md5 +all: $(ROM) .PHONY: tools tools tools/pkmncompress tools/gfx: @@ -41,7 +44,7 @@ tools tools/pkmncompress tools/gfx: # Remove files generated by the build process. .PHONY: clean clean: - rm -rf $(ROMS) $(BUILD) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) + rm -rf $(ROMS) $(BUILDBASE) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) make -C tools clean # Remove files except for graphics. @@ -49,12 +52,13 @@ clean: mostlyclean: rm -rf $(ROMS) $(OBJS) $(ROMS:.gb=.sym) $(ROMS:.gb=.map) -$(ROMS): $(OBJS) +$(ROM): $(OBJS) $(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" $@ + $(RGBFIX) -f lh -k 01 -l 0x33 -m 0x03 -p 0 -r 3 -t "POKEMON2$(GAME_VERSION)" $@ + -$(PYTHON3) sort_sym.py $(@:.gb=.sym) -$(BUILD)/shim.asm: tools/make_shim.py shim.sym | $$(dir $$@) - $(PYTHON) tools/make_shim.py -w -- $(filter-out $<, $^) > $@ +$(BUILD)/shim.asm: $(SHIM) | $$(dir $$@) + tools/make_shim -w $< > $@ $(BUILD)/gfx.o: | $(GFX) $(BUILD)/%.o: $(BUILD)/%.asm | $$(dir $$@) @@ -63,8 +67,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/minigames/slots.2bpp: tools/gfx += --trim-whitespace $(BUILD)/gfx/minigames/poker.2bpp: tools/gfx += --trim-whitespace @@ -93,3 +99,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 |
