mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Use static pattern rules to fix dependencies for objects in subdirs.
This commit is contained in:
parent
08ac6dfd80
commit
36f0bda0b3
34
Makefile
34
Makefile
@ -10,22 +10,6 @@ gfx := $(PYTHON) gfx.py
|
|||||||
includes := $(PYTHON) $(poketools)/scan_includes.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 := \
|
crystal_obj := \
|
||||||
wram.o \
|
wram.o \
|
||||||
main.o \
|
main.o \
|
||||||
@ -42,11 +26,10 @@ misc/crystal_misc.o \
|
|||||||
text/common_text.o \
|
text/common_text.o \
|
||||||
gfx/pics.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:.o=), \
|
||||||
$(foreach obj, $(crystal_obj), \
|
$(eval $(obj)_dep := $(shell $(includes) $(obj).asm)) \
|
||||||
$(eval $(obj:.o=)_dep := $(shell $(includes) $(obj:.o=.asm))) \
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@ -54,23 +37,18 @@ roms := pokecrystal.gbc
|
|||||||
|
|
||||||
all: $(roms)
|
all: $(roms)
|
||||||
crystal: pokecrystal.gbc
|
crystal: pokecrystal.gbc
|
||||||
|
|
||||||
crystal11: pokecrystal11.gbc
|
crystal11: pokecrystal11.gbc
|
||||||
|
|
||||||
clean:
|
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
|
compare: pokecrystal.gbc pokecrystal11.gbc
|
||||||
@$(MD5) roms.md5
|
@$(MD5) roms.md5
|
||||||
|
|
||||||
%.asm: ;
|
%.asm: ;
|
||||||
%11.o: %.asm $$(%_dep)
|
$(crystal11_obj): %11.o: %.asm $$(%_dep)
|
||||||
rgbasm -D CRYSTAL11 -o $@ $<
|
rgbasm -D CRYSTAL11 -o $@ $<
|
||||||
%.o: %.asm $$(%_dep)
|
$(crystal_obj): %.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 $@ $<
|
rgbasm -o $@ $<
|
||||||
|
|
||||||
pokecrystal11.gbc: $(crystal11_obj)
|
pokecrystal11.gbc: $(crystal11_obj)
|
||||||
|
Loading…
Reference in New Issue
Block a user