From 0e12eafe6635da8e80ed33f7460e09c567d0e31f Mon Sep 17 00:00:00 2001 From: yenatch Date: Thu, 29 May 2014 18:52:37 -0700 Subject: Dust off the makefile and prepare to build Yellow. --- Makefile | 109 ++++++++++++++++++++++++++++----------------------------------- 1 file changed, 48 insertions(+), 61 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 7a7ffcdd..4dc35a7a 100644 --- a/Makefile +++ b/Makefile @@ -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 $@ - - -- cgit v1.3.1-sl0p From d424eb44385c8f9e02d982b715a658e395e56c4b Mon Sep 17 00:00:00 2001 From: yenatch Date: Sat, 31 May 2014 00:39:09 -0700 Subject: Use rgbasm -h to use halt without nops. --- Makefile | 2 +- home.asm | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 4dc35a7a..312f7787 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,7 @@ $(all_obj): $$*.tx $$(patsubst %.asm, %.tx, $$($$*_dep)) @$(gfx) 2bpp $(2bppq); $(eval 2bppq :=) @$(gfx) 1bpp $(1bppq); $(eval 1bppq :=) @$(pic) compress $(picq); $(eval picq :=) - rgbasm -o $@ $*.tx + rgbasm -h -o $@ $*.tx link := rgblink -n $*.sym -m $*.map diff --git a/home.asm b/home.asm index 11879c3e..dd2433ad 100644 --- a/home.asm +++ b/home.asm @@ -1861,10 +1861,7 @@ NOT_VBLANKED EQU 1 ld a, NOT_VBLANKED ld [H_VBLANKOCCURRED], a .halt - ; XXX this is a hack--rgbasm adds - ; a nop after halts by default. - db $76 ; halt - + halt ld a, [H_VBLANKOCCURRED] and a jr nz, .halt -- cgit v1.3.1-sl0p From 5de4c4b5c5ddf7c2823b22407636efcfdfe0c139 Mon Sep 17 00:00:00 2001 From: "U-Fish-PC\\Daniel" Date: Thu, 26 Jun 2014 17:44:42 -0400 Subject: Fix Makefile: .map and .sym The Makefile previously made the files '.map' and '.sym' instead of 'poke[red/blue].map' and 'poke[red/blue].sym' --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index 312f7787..ec1ca455 100644 --- a/Makefile +++ b/Makefile @@ -53,7 +53,7 @@ $(all_obj): $$*.tx $$(patsubst %.asm, %.tx, $$($$*_dep)) rgbasm -h -o $@ $*.tx -link := rgblink -n $*.sym -m $*.map +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 -- cgit v1.3.1-sl0p