diff options
-rw-r--r-- | Makefile | 109 | ||||
-rw-r--r-- | blue/audio.asm (renamed from audio_blue.asm) | 0 | ||||
-rw-r--r-- | blue/main.asm (renamed from pokeblue.asm) | 0 | ||||
-rw-r--r-- | blue/text.asm | 2 | ||||
-rw-r--r-- | blue/wram.asm | 2 | ||||
-rw-r--r-- | red/audio.asm (renamed from audio_red.asm) | 0 | ||||
-rw-r--r-- | red/main.asm (renamed from pokered.asm) | 0 | ||||
-rw-r--r-- | red/text.asm | 2 | ||||
-rw-r--r-- | red/wram.asm | 2 | ||||
-rw-r--r-- | yellow.asm | 1 | ||||
-rw-r--r-- | yellow/audio.asm | 2 | ||||
-rw-r--r-- | yellow/main.asm | 2 | ||||
-rw-r--r-- | yellow/text.asm | 2 | ||||
-rw-r--r-- | yellow/wram.asm | 2 |
14 files changed, 65 insertions, 61 deletions
@@ -1,94 +1,81 @@ PYTHON := python +MD5 := md5sum -c --quiet .SUFFIXES: .SUFFIXES: .asm .tx .o .gbc -.PHONY: all clean red blue compare pngs +.PHONY: all clean red blue yellow compare .PRECIOUS: %.2bpp .SECONDEXPANSION: -POKEMONTOOLS := extras/pokemontools -GFX := $(PYTHON) $(POKEMONTOOLS)/gfx.py -PIC := $(PYTHON) $(POKEMONTOOLS)/pic.py -INCLUDES := $(PYTHON) $(POKEMONTOOLS)/scan_includes.py -PREPROCESS := $(PYTHON) prequeue.py +poketools := extras/pokemontools +gfx := $(PYTHON) $(poketools)/gfx.py +pic := $(PYTHON) $(poketools)/pic.py +includes := $(PYTHON) $(poketools)/scan_includes.py +pre := $(PYTHON) prequeue.py -TEXTQUEUE := -RED_OBJS := \ -pokered.o \ -audio_red.o \ -wram.o \ -text.o +versions := red blue yellow -BLUE_OBJS := \ -pokeblue.o \ -audio_blue.o \ -wram.o \ -text.o +$(foreach ver, $(versions), \ + $(eval $(ver)_asm := $(shell find $(ver) -iname '*.asm')) \ + $(eval $(ver)_obj := $($(ver)_asm:.asm=.o)) \ + $(eval all_obj += $($(ver)_obj)) \ +) +$(foreach obj, $(all_obj), \ + $(eval $(obj:.o=)_dep := $(shell $(includes) $(obj:.o=.asm))) \ +) -OBJS := $(RED_OBJS) $(BLUE_OBJS) -OBJS := $(sort $(OBJS)) -ROMS := pokered.gbc pokeblue.gbc +roms := pokered.gbc pokeblue.gbc -# object dependencies -$(shell $(foreach obj, $(OBJS), $(eval $(obj:.o=)_DEPENDENCIES := $(shell $(INCLUDES) $(obj:.o=.asm))))) +all: $(roms) +red: pokered.gbc +blue: pokeblue.gbc +yellow: pokeyellow.gbc -all: $(ROMS) -red: pokered.gbc -blue: pokeblue.gbc compare: - @md5sum -c --quiet roms.md5 + @$(MD5) roms.md5 clean: - rm -f $(ROMS) - rm -f $(OBJS) - find . -iname '*.tx' -exec rm {} + - find gfx -iname '*.[12]bpp' -exec rm {} + - find pic -iname '*.pic' -exec rm {} + - find pic -iname '*.2bpp' -exec rm {} + - rm -f redrle - - -redrle: extras/redtools/redrle.c - ${CC} -o $@ $< + rm -f $(roms) $(all_obj) + find . \( -iname '*.tx' -o -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -exec rm {} + %.asm: ; -.asm.tx: - $(eval TEXTQUEUE += $<) +%.tx: %.asm + $(eval txq += $<) @rm -f $@ -$(OBJS): $$*.tx $$(patsubst %.asm, %.tx, $$($$*_DEPENDENCIES)) - @$(PREPROCESS) $(TEXTQUEUE) - @$(eval TEXTQUEUE :=) - @$(GFX) 2bpp $(2BPPQUEUE) - @$(eval 2BPPQUEUE :=) - @$(GFX) 1bpp $(1BPPQUEUE) - @$(eval 1BPPQUEUE :=) - @$(PIC) compress $(PICQUEUE) - @$(eval PICQUEUE :=) +$(all_obj): $$*.tx $$(patsubst %.asm, %.tx, $$($$*_dep)) + @$(pre) $(txq); $(eval txq :=) + @$(gfx) 2bpp $(2bppq); $(eval 2bppq :=) + @$(gfx) 1bpp $(1bppq); $(eval 1bppq :=) + @$(pic) compress $(picq); $(eval picq :=) rgbasm -o $@ $*.tx -OPTIONS = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 +link := rgblink -n $*.sym -m $*.map +dmg_opt := -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 +cgb_opt := -cjsv -k 01 -l 0x33 -m 0x1b -p 0 -r 03 + +pokered.gbc: $(red_obj) + $(link) -o $@ $^ + rgbfix $(dmg_opt) -t "POKEMON RED" $@ -pokered.gbc: $(RED_OBJS) - rgblink -n $*.sym -m $*.map -o $@ $^ - rgbfix $(OPTIONS) -t "POKEMON RED" $@ +pokeblue.gbc: $(blue_obj) + $(link) -o $@ $^ + rgbfix $(dmg_opt) -t "POKEMON BLUE" $@ -pokeblue.gbc: $(BLUE_OBJS) - rgblink -n $*.sym -m $*.map -o $@ $^ - rgbfix $(OPTIONS) -t "POKEMON BLUE" $@ +pokeyellow.gbc: $(yellow_obj) + $(link) -o $@ $^ + rgbfix $(cgb_opt) -t "POKEMON YELLOW" $@ %.2bpp: %.png - $(eval 2BPPQUEUE += $<) + $(eval 2bppq += $<) @rm -f $@ %.1bpp: %.png - $(eval 1BPPQUEUE += $<) + $(eval 1bppq += $<) @rm -f $@ -%.pic: %.2bpp - $(eval PICQUEUE += $<) +%.pic: %.2bpp + $(eval picq += $<) @rm -f $@ - - diff --git a/audio_blue.asm b/blue/audio.asm index 53e37a2d..53e37a2d 100644 --- a/audio_blue.asm +++ b/blue/audio.asm diff --git a/pokeblue.asm b/blue/main.asm index 3fcef980..3fcef980 100644 --- a/pokeblue.asm +++ b/blue/main.asm diff --git a/blue/text.asm b/blue/text.asm new file mode 100644 index 00000000..ec6d7203 --- /dev/null +++ b/blue/text.asm @@ -0,0 +1,2 @@ +INCLUDE "blue.asm" +INCLUDE "text.asm" diff --git a/blue/wram.asm b/blue/wram.asm new file mode 100644 index 00000000..70292177 --- /dev/null +++ b/blue/wram.asm @@ -0,0 +1,2 @@ +INCLUDE "blue.asm" +INCLUDE "wram.asm" diff --git a/audio_red.asm b/red/audio.asm index 6c90a7c1..6c90a7c1 100644 --- a/audio_red.asm +++ b/red/audio.asm diff --git a/pokered.asm b/red/main.asm index ff8de04f..ff8de04f 100644 --- a/pokered.asm +++ b/red/main.asm diff --git a/red/text.asm b/red/text.asm new file mode 100644 index 00000000..d5d571d7 --- /dev/null +++ b/red/text.asm @@ -0,0 +1,2 @@ +INCLUDE "red.asm" +INCLUDE "text.asm" diff --git a/red/wram.asm b/red/wram.asm new file mode 100644 index 00000000..68c3c803 --- /dev/null +++ b/red/wram.asm @@ -0,0 +1,2 @@ +INCLUDE "red.asm" +INCLUDE "wram.asm" diff --git a/yellow.asm b/yellow.asm new file mode 100644 index 00000000..2dedf586 --- /dev/null +++ b/yellow.asm @@ -0,0 +1 @@ +_YELLOW EQU 1 diff --git a/yellow/audio.asm b/yellow/audio.asm new file mode 100644 index 00000000..e94c7db5 --- /dev/null +++ b/yellow/audio.asm @@ -0,0 +1,2 @@ +INCLUDE "yellow.asm" +INCLUDE "audio.asm" diff --git a/yellow/main.asm b/yellow/main.asm new file mode 100644 index 00000000..36c88720 --- /dev/null +++ b/yellow/main.asm @@ -0,0 +1,2 @@ +INCLUDE "yellow.asm" +INCLUDE "main.asm" diff --git a/yellow/text.asm b/yellow/text.asm new file mode 100644 index 00000000..a84a633d --- /dev/null +++ b/yellow/text.asm @@ -0,0 +1,2 @@ +INCLUDE "yellow.asm" +INCLUDE "text.asm" diff --git a/yellow/wram.asm b/yellow/wram.asm new file mode 100644 index 00000000..c0b7f781 --- /dev/null +++ b/yellow/wram.asm @@ -0,0 +1,2 @@ +INCLUDE "yellow.asm" +INCLUDE "wram.asm" |