From 00d491a646174a0b00475969675c1e6e60da81df Mon Sep 17 00:00:00 2001 From: yenatch <yenatch@gmail.com> Date: Fri, 29 Jan 2016 01:01:41 -0500 Subject: [PATCH 1/4] Bump extras for faster scan_includes. --- extras | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extras b/extras index adbc204d7..9644160b8 160000 --- a/extras +++ b/extras @@ -1 +1 @@ -Subproject commit adbc204d741bec7a68c1e6cd67751f226d0347cb +Subproject commit 9644160b87e706f3a6ae20fe09e9c469f628c06d From 1176712cfebba527fac1438fdf8ca8b9e643a8e7 Mon Sep 17 00:00:00 2001 From: yenatch <yenatch@gmail.com> Date: Fri, 29 Jan 2016 01:10:41 -0500 Subject: [PATCH 2/4] Use rgbasm -D instead of extra files for version differences. --- Makefile | 10 ++++++---- crystal11.asm | 4 ---- misc/mobile_5c.asm | 2 +- wram11.asm | 3 --- 4 files changed, 7 insertions(+), 12 deletions(-) delete mode 100644 crystal11.asm delete mode 100644 wram11.asm diff --git a/Makefile b/Makefile index 261b58c24..ccfd36357 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ includes := $(PYTHON) $(poketools)/scan_includes.py crystal11_obj := \ wram11.o \ -crystal11.o \ +main11.o \ lib/mobile/main.o \ home.o \ audio.o \ @@ -42,10 +42,10 @@ misc/crystal_misc.o \ text/common_text.o \ gfx/pics.o -all_obj := $(crystal_obj) crystal11.o wram11.o +all_obj := $(crystal_obj) main11.o wram11.o # object dependencies -$(foreach obj, $(all_obj), \ +$(foreach obj, $(crystal_obj), \ $(eval $(obj:.o=)_dep := $(shell $(includes) $(obj:.o=.asm))) \ ) @@ -64,7 +64,9 @@ compare: pokecrystal.gbc pokecrystal11.gbc @$(MD5) roms.md5 %.asm: ; -$(all_obj): $$*.asm $$($$*_dep) +%11.o: %.asm $$(%_dep) + rgbasm -D CRYSTAL11 -o $@ $< +%.o: %.asm $$(%_dep) rgbasm -o $@ $< pokecrystal11.gbc: $(crystal11_obj) diff --git a/crystal11.asm b/crystal11.asm deleted file mode 100644 index c4c7712e8..000000000 --- a/crystal11.asm +++ /dev/null @@ -1,4 +0,0 @@ -CRYSTAL11 = 1 -CORRUPT_TILES = 1 - -INCLUDE "main.asm" diff --git a/misc/mobile_5c.asm b/misc/mobile_5c.asm index b8710a78a..8ecd35edf 100755 --- a/misc/mobile_5c.asm +++ b/misc/mobile_5c.asm @@ -934,7 +934,7 @@ GFX_172f1f: INCBIN "gfx/unknown/172f1f.2bpp" Tilemap_1733af: -IF DEF(CORRUPT_TILES) +IF DEF(CRYSTAL11) INCBIN "gfx/unknown/1733af_corrupt.tilemap" ELSE INCBIN "gfx/unknown/1733af.tilemap" diff --git a/wram11.asm b/wram11.asm deleted file mode 100644 index 4d3303fd0..000000000 --- a/wram11.asm +++ /dev/null @@ -1,3 +0,0 @@ -CRYSTAL11 = 1 - -INCLUDE "wram.asm" From 08ac6dfd80000f1cdd449225e4d2cc195e086439 Mon Sep 17 00:00:00 2001 From: yenatch <yenatch@gmail.com> Date: Fri, 29 Jan 2016 16:24:02 -0500 Subject: [PATCH 3/4] *_crystal.asm files are no longer needed to build crystal *.o. --- Makefile | 28 ++++++++++++++++------------ data/egg_moves_crystal.asm | 2 -- data/evos_attacks_crystal.asm | 2 -- engine/credits_crystal.asm | 2 -- engine/events_crystal.asm | 2 -- includes.asm | 1 + maps_crystal.asm | 2 -- pokecrystal.asm => version.asm | 0 8 files changed, 17 insertions(+), 22 deletions(-) delete mode 100644 data/egg_moves_crystal.asm delete mode 100644 data/evos_attacks_crystal.asm delete mode 100644 engine/credits_crystal.asm delete mode 100644 engine/events_crystal.asm delete mode 100644 maps_crystal.asm rename pokecrystal.asm => version.asm (100%) diff --git a/Makefile b/Makefile index ccfd36357..d458381b2 100644 --- a/Makefile +++ b/Makefile @@ -16,12 +16,12 @@ main11.o \ lib/mobile/main.o \ home.o \ audio.o \ -maps_crystal.o \ -engine/events_crystal.o \ -engine/credits_crystal.o \ -data/egg_moves_crystal.o \ -data/evos_attacks_crystal.o \ -data/pokedex/entries_crystal.o \ +maps.o \ +engine/events.o \ +engine/credits.o \ +data/egg_moves.o \ +data/evos_attacks.o \ +data/pokedex/entries.o \ misc/crystal_misc.o \ text/common_text.o \ gfx/pics.o @@ -32,12 +32,12 @@ main.o \ lib/mobile/main.o \ home.o \ audio.o \ -maps_crystal.o \ -engine/events_crystal.o \ -engine/credits_crystal.o \ -data/egg_moves_crystal.o \ -data/evos_attacks_crystal.o \ -data/pokedex/entries_crystal.o \ +maps.o \ +engine/events.o \ +engine/credits.o \ +data/egg_moves.o \ +data/evos_attacks.o \ +data/pokedex/entries.o \ misc/crystal_misc.o \ text/common_text.o \ gfx/pics.o @@ -69,6 +69,10 @@ compare: pokecrystal.gbc pokecrystal11.gbc %.o: %.asm $$(%_dep) rgbasm -o $@ $< +# This seems to be required because of a filename collision (but not a path collision). +lib/%.o: lib/%.asm $$(lib/%_dep) + rgbasm -o $@ $< + pokecrystal11.gbc: $(crystal11_obj) rgblink -n $*.sym -m $*.map -o $@ $^ rgbfix -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -n 1 -p 0 -r 3 -t PM_CRYSTAL $@ diff --git a/data/egg_moves_crystal.asm b/data/egg_moves_crystal.asm deleted file mode 100644 index 50fbb1471..000000000 --- a/data/egg_moves_crystal.asm +++ /dev/null @@ -1,2 +0,0 @@ -INCLUDE "pokecrystal.asm" -INCLUDE "data/egg_moves.asm" diff --git a/data/evos_attacks_crystal.asm b/data/evos_attacks_crystal.asm deleted file mode 100644 index 22ec9d84c..000000000 --- a/data/evos_attacks_crystal.asm +++ /dev/null @@ -1,2 +0,0 @@ -INCLUDE "pokecrystal.asm" -INCLUDE "data/evos_attacks.asm" diff --git a/engine/credits_crystal.asm b/engine/credits_crystal.asm deleted file mode 100644 index 51265434b..000000000 --- a/engine/credits_crystal.asm +++ /dev/null @@ -1,2 +0,0 @@ -INCLUDE "pokecrystal.asm" -INCLUDE "engine/credits.asm" diff --git a/engine/events_crystal.asm b/engine/events_crystal.asm deleted file mode 100644 index 56cb7a200..000000000 --- a/engine/events_crystal.asm +++ /dev/null @@ -1,2 +0,0 @@ -INCLUDE "pokecrystal.asm" -INCLUDE "engine/events.asm" diff --git a/includes.asm b/includes.asm index 456623d9f..1b3d6bed5 100644 --- a/includes.asm +++ b/includes.asm @@ -1,2 +1,3 @@ +INCLUDE "version.asm" INCLUDE "contents.asm" INCLUDE "constants.asm" diff --git a/maps_crystal.asm b/maps_crystal.asm deleted file mode 100644 index 7bb87d329..000000000 --- a/maps_crystal.asm +++ /dev/null @@ -1,2 +0,0 @@ -INCLUDE "pokecrystal.asm" -INCLUDE "maps.asm" diff --git a/pokecrystal.asm b/version.asm similarity index 100% rename from pokecrystal.asm rename to version.asm From 36f0bda0b33f5444241f1081b93f63f94a1b046a Mon Sep 17 00:00:00 2001 From: yenatch <yenatch@gmail.com> Date: Wed, 10 Feb 2016 00:31:32 -0500 Subject: [PATCH 4/4] Use static pattern rules to fix dependencies for objects in subdirs. --- Makefile | 34 ++++++---------------------------- 1 file changed, 6 insertions(+), 28 deletions(-) diff --git a/Makefile b/Makefile index d458381b2..c5fad3779 100644 --- a/Makefile +++ b/Makefile @@ -10,22 +10,6 @@ gfx := $(PYTHON) gfx.py includes := $(PYTHON) $(poketools)/scan_includes.py -crystal11_obj := \ -wram11.o \ -main11.o \ -lib/mobile/main.o \ -home.o \ -audio.o \ -maps.o \ -engine/events.o \ -engine/credits.o \ -data/egg_moves.o \ -data/evos_attacks.o \ -data/pokedex/entries.o \ -misc/crystal_misc.o \ -text/common_text.o \ -gfx/pics.o - crystal_obj := \ wram.o \ main.o \ @@ -42,11 +26,10 @@ misc/crystal_misc.o \ text/common_text.o \ gfx/pics.o -all_obj := $(crystal_obj) main11.o wram11.o +crystal11_obj := $(crystal_obj:.o=11.o) -# object dependencies -$(foreach obj, $(crystal_obj), \ - $(eval $(obj:.o=)_dep := $(shell $(includes) $(obj:.o=.asm))) \ +$(foreach obj, $(crystal_obj:.o=), \ + $(eval $(obj)_dep := $(shell $(includes) $(obj).asm)) \ ) @@ -54,23 +37,18 @@ roms := pokecrystal.gbc all: $(roms) crystal: pokecrystal.gbc - crystal11: pokecrystal11.gbc clean: - rm -f $(roms) $(all_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) + rm -f $(roms) $(crystal_obj) $(crystal11_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) compare: pokecrystal.gbc pokecrystal11.gbc @$(MD5) roms.md5 %.asm: ; -%11.o: %.asm $$(%_dep) +$(crystal11_obj): %11.o: %.asm $$(%_dep) rgbasm -D CRYSTAL11 -o $@ $< -%.o: %.asm $$(%_dep) - rgbasm -o $@ $< - -# This seems to be required because of a filename collision (but not a path collision). -lib/%.o: lib/%.asm $$(lib/%_dep) +$(crystal_obj): %.o: %.asm $$(%_dep) rgbasm -o $@ $< pokecrystal11.gbc: $(crystal11_obj)