diff options
-rw-r--r-- | Makefile | 33 |
1 files changed, 11 insertions, 22 deletions
@@ -16,7 +16,6 @@ cgb_opt = -cjsv -k 01 -l 0x33 -m 0x1b -p 0 -r 03 yellow_opt = $(cgb_opt) -t "POKEMON YELLOW" - # If your default python is 3, you may want to change this to python27. PYTHON := python @@ -49,9 +48,7 @@ pic := $(PYTHON) $(poketools)/pic.py includes := $(PYTHON) $(poketools)/scan_includes.py - # Collect file dependencies for objects in yellow/. -# These aren't provided by rgbds by default, so we have to look for file includes ourselves. $(foreach ver, $(versions), \ $(eval $(ver)_asm := $(shell find $(ver) -iname '*.asm')) \ $(eval $(ver)_obj := $($(ver)_asm:.asm=.o)) \ @@ -62,35 +59,27 @@ $(foreach obj, $(all_obj), \ ) -# Image and audio files are added to a queue to reduce build time. They're converted when building parent objects. -%.png: ; -%.2bpp: %.png ; $(eval 2bppq += $<) @rm -f $@ -%.1bpp: %.png ; $(eval 1bppq += $<) @rm -f $@ -%.pic: %.2bpp ; $(eval picq += $<) @rm -f $@ -%.wav: ; -%.pcm: %.wav ; $(eval pcmq += $<) @rm -f $@ +%.png: ; +%.2bpp: %.png ; @$(gfx) 2bpp $< +%.1bpp: %.png ; @$(gfx) 1bpp $< +%.pic: %.2bpp ; @$(pic) compress $< + +%.wav: ; +%.pcm: %.wav pcm.py ; @$(pcm) pcm $< # Assemble source files into objects. -# Queue payloads are here. These are made silent since there may be hundreds of targets. -# Use rgbasm -h to use halts without nops. $(all_obj): $$*.asm $$($$*_dep) - @$(pcm) pcm $(pcmq); $(eval pcmq :=) - @$(gfx) 2bpp $(2bppq); $(eval 2bppq :=) - @$(gfx) 1bpp $(1bppq); $(eval 1bppq :=) - @$(pic) compress $(picq); $(eval picq :=) rgbasm -h -o $@ $*.asm - -# Link objects together to build a rom. - # Make a symfile for debugging. -link = rgblink -n poke$*.sym +link_opt = -n poke$*.sym +# Link objects together to build a rom. poke%.gbc: $$(%_obj) - $(link) -o $@ $^ + rgblink $(link_opt) -o $@ $^ rgbfix $($*_opt) $@ clean: rm -f $(roms) $(all_obj) poke*.sym - find . \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' -o -iname '*.pcm' \) -exec rm {} +
\ No newline at end of file + find . \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' -o -iname '*.pcm' \) -exec rm {} + |