mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
e11ef2b8d5
This means dependencies for unrelated targets aren't generated if you aren't building them. This makes "make clean" and building individual targets fast again.
78 lines
1.5 KiB
Makefile
78 lines
1.5 KiB
Makefile
PYTHON := python
|
|
MD5 := md5sum -c --quiet
|
|
|
|
.SUFFIXES:
|
|
.SUFFIXES: .2bpp
|
|
.PHONY: all clean crystal crystal11
|
|
.SECONDEXPANSION:
|
|
|
|
poketools := extras/pokemontools
|
|
gfx := $(PYTHON) gfx.py
|
|
includes := $(PYTHON) $(poketools)/scan_includes.py
|
|
|
|
|
|
crystal_obj := \
|
|
wram.o \
|
|
main.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
|
|
|
|
crystal11_obj := $(crystal_obj:.o=11.o)
|
|
|
|
|
|
roms := pokecrystal.gbc
|
|
|
|
all: $(roms)
|
|
crystal: pokecrystal.gbc
|
|
crystal11: pokecrystal11.gbc
|
|
|
|
clean:
|
|
rm -f $(roms) $(crystal_obj) $(crystal11_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym)
|
|
|
|
compare: pokecrystal.gbc pokecrystal11.gbc
|
|
@$(MD5) roms.md5
|
|
|
|
%.asm: ;
|
|
|
|
%11.o: dep = $(shell $(includes) $(@D)/$*.asm)
|
|
$(crystal11_obj): %11.o:
|
|
%11.o: %.asm $$(dep)
|
|
rgbasm -D CRYSTAL11 -o $@ $<
|
|
|
|
%.o: dep = $(shell $(includes) $(@D)/$*.asm)
|
|
$(crystal_obj): %.o:
|
|
%.o: %.asm $$(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 $@
|
|
|
|
pokecrystal.gbc: $(crystal_obj)
|
|
rgblink -n $*.sym -m $*.map -o $@ $^
|
|
rgbfix -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t PM_CRYSTAL $@
|
|
|
|
|
|
%.png: ;
|
|
%.2bpp: %.png ; $(gfx) 2bpp $<
|
|
%.1bpp: %.png ; $(gfx) 1bpp $<
|
|
%.lz: % ; $(gfx) lz $<
|
|
|
|
|
|
%.pal: %.2bpp ;
|
|
gfx/pics/%/normal.pal gfx/pics/%/bitmask.asm gfx/pics/%/frames.asm: gfx/pics/%/front.2bpp ;
|
|
%.bin: ;
|
|
%.blk: ;
|
|
%.tilemap: ;
|
|
|