mirror of
https://github.com/pret/pokered.git
synced 2024-10-22 22:55:31 +00:00
Move graphics-only object file sources into gfx/
Previously this wasn't working, but now the Makefile uses pokegold's technique for running scan_includes. It also enables and fixes some rgbds warnings ("Non-local labels without a colon are deprecated").
This commit is contained in:
parent
62e137f6ce
commit
64da1f5d6b
7 changed files with 33 additions and 18 deletions
43
Makefile
43
Makefile
|
@ -5,11 +5,11 @@ audio.o \
|
|||
home.o \
|
||||
main.o \
|
||||
maps.o \
|
||||
pics.o \
|
||||
sprites.o \
|
||||
text.o \
|
||||
tilesets.o \
|
||||
wram.o \
|
||||
gfx/pics.o \
|
||||
gfx/sprites.o \
|
||||
gfx/tilesets.o
|
||||
|
||||
pokered_obj := $(rom_obj:.o=_red.o)
|
||||
pokeblue_obj := $(rom_obj:.o=_blue.o)
|
||||
|
@ -44,7 +44,7 @@ compare: $(roms)
|
|||
|
||||
clean:
|
||||
rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym)
|
||||
find . \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -exec rm {} +
|
||||
find gfx \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -delete
|
||||
$(MAKE) clean -C tools/
|
||||
|
||||
tidy:
|
||||
|
@ -55,28 +55,43 @@ tools:
|
|||
$(MAKE) -C tools/
|
||||
|
||||
|
||||
RGBASMFLAGS = -h -Weverything
|
||||
# Create a sym/map for debug purposes if `make` run with `DEBUG=1`
|
||||
ifeq ($(DEBUG),1)
|
||||
RGBASMFLAGS += -E
|
||||
endif
|
||||
|
||||
$(pokered_obj): RGBASMFLAGS += -D _RED
|
||||
$(pokeblue_obj): RGBASMFLAGS += -D _BLUE
|
||||
|
||||
# The dep rules have to be explicit or else missing files won't be reported.
|
||||
# As a side effect, they're evaluated immediately instead of when the rule is invoked.
|
||||
# It doesn't look like $(shell) can be deferred so there might not be a better way.
|
||||
define DEP
|
||||
$1: $2 $$(shell tools/scan_includes $2)
|
||||
$$(RGBASM) $$(RGBASMFLAGS) -o $$@ $$<
|
||||
endef
|
||||
|
||||
# Build tools when building the rom.
|
||||
# This has to happen before the rules are processed, since that's when scan_includes is run.
|
||||
ifeq (,$(filter clean tools,$(MAKECMDGOALS)))
|
||||
|
||||
$(info $(shell $(MAKE) -C tools))
|
||||
|
||||
# Dependencies for objects (drop _red and _blue from asm file basenames)
|
||||
$(foreach obj, $(pokered_obj), $(eval $(call DEP,$(obj),$(obj:_red.o=.asm))))
|
||||
$(foreach obj, $(pokeblue_obj), $(eval $(call DEP,$(obj),$(obj:_blue.o=.asm))))
|
||||
|
||||
endif
|
||||
|
||||
|
||||
%.asm: ;
|
||||
|
||||
%_red.o: dep = $(shell tools/scan_includes $(@D)/$*.asm)
|
||||
$(pokered_obj): %_red.o: %.asm $$(dep)
|
||||
$(RGBASM) -D _RED -h -o $@ $*.asm
|
||||
|
||||
%_blue.o: dep = $(shell tools/scan_includes $(@D)/$*.asm)
|
||||
$(pokeblue_obj): %_blue.o: %.asm $$(dep)
|
||||
$(RGBASM) -D _BLUE -h -o $@ $*.asm
|
||||
|
||||
pokered_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON RED"
|
||||
pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE"
|
||||
|
||||
%.gbc: $$(%_obj)
|
||||
$(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $^
|
||||
%.gbc: $$(%_obj) layout.link
|
||||
$(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $(filter %.o,$^)
|
||||
$(RGBFIX) $($*_opt) $@
|
||||
|
||||
|
||||
|
|
|
@ -74,7 +74,7 @@ CeladonMart3Text5:
|
|||
TX_FAR _CeladonMart3Text5
|
||||
db "@"
|
||||
|
||||
CeladonMart3Text12
|
||||
CeladonMart3Text12:
|
||||
CeladonMart3Text10:
|
||||
CeladonMart3Text8:
|
||||
CeladonMart3Text6:
|
||||
|
|
|
@ -7,7 +7,7 @@ CeruleanCaveB1F_Script:
|
|||
ld [wCeruleanCaveB1FCurScript], a
|
||||
ret
|
||||
|
||||
CeruleanCaveB1F_ScriptPointers
|
||||
CeruleanCaveB1F_ScriptPointers:
|
||||
dw CheckFightingMapTrainers
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
|
|
|
@ -7,7 +7,7 @@ PowerPlant_Script:
|
|||
ld [wPowerPlantCurScript], a
|
||||
ret
|
||||
|
||||
PowerPlant_ScriptPointers
|
||||
PowerPlant_ScriptPointers:
|
||||
dw CheckFightingMapTrainers
|
||||
dw DisplayEnemyTrainerTextAndStartBattle
|
||||
dw EndTrainerBattle
|
||||
|
|
Loading…
Reference in a new issue