mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
consolidate labels across objects into globals.asm
this is required for objects to share labels
This commit is contained in:
parent
eaa790318a
commit
e2aa3d7ea5
22
Makefile
22
Makefile
@ -3,7 +3,7 @@ PYTHON := python
|
|||||||
.PHONY: all clean pngs gfx
|
.PHONY: all clean pngs gfx
|
||||||
.SECONDEXPANSION:
|
.SECONDEXPANSION:
|
||||||
|
|
||||||
TEXTFILES := $(shell find ./ -type f -name '*.asm')
|
TEXTFILES := $(shell find ./ -type f -name '*.asm' | grep -v globals.asm)
|
||||||
TEXTQUEUE :=
|
TEXTQUEUE :=
|
||||||
|
|
||||||
OBJS := pokecrystal.o
|
OBJS := pokecrystal.o
|
||||||
@ -13,12 +13,19 @@ LZS := $(shell find gfx/ -type f -name '*.lz')
|
|||||||
_2BPPS := $(shell find gfx/ -type f -name '*.2bpp')
|
_2BPPS := $(shell find gfx/ -type f -name '*.2bpp')
|
||||||
_1BPPS := $(shell find gfx/ -type f -name '*.1bpp')
|
_1BPPS := $(shell find gfx/ -type f -name '*.1bpp')
|
||||||
|
|
||||||
$(shell $(foreach obj, $(OBJS), $(eval OBJ_$(obj:.o=) := $(shell $(PYTHON) scan_includes.py $(obj:.o=.asm)))))
|
# generate a list of dependencies for each object file
|
||||||
|
$(shell \
|
||||||
|
$(foreach obj, $(OBJS), \
|
||||||
|
$(eval OBJ_$(obj:.o=) := \
|
||||||
|
$(shell $(PYTHON) scan_includes.py $(obj:.o=.asm) | sed s/globals.asm//g)) \
|
||||||
|
) \
|
||||||
|
)
|
||||||
|
|
||||||
all: baserom.gbc pokecrystal.gbc
|
all: baserom.gbc globals.asm pokecrystal.gbc
|
||||||
cmp baserom.gbc pokecrystal.gbc
|
cmp baserom.gbc pokecrystal.gbc
|
||||||
clean:
|
clean:
|
||||||
rm -f pokecrystal.o pokecrystal.gbc
|
rm -f pokecrystal.o pokecrystal.gbc
|
||||||
|
rm -f globals.asm globals.tx
|
||||||
@echo 'Removing preprocessed .tx files...'
|
@echo 'Removing preprocessed .tx files...'
|
||||||
@rm -f $(TEXTFILES:.asm=.tx)
|
@rm -f $(TEXTFILES:.asm=.tx)
|
||||||
|
|
||||||
@ -29,10 +36,13 @@ baserom.gbc:
|
|||||||
$(eval TEXTQUEUE := $(TEXTQUEUE) $<)
|
$(eval TEXTQUEUE := $(TEXTQUEUE) $<)
|
||||||
@rm -f $@
|
@rm -f $@
|
||||||
|
|
||||||
$(OBJS): $$(patsubst %.o,%.tx,$$@) $$(patsubst %.asm,%.tx,$$(OBJ_$$(patsubst %.o,%,$$@)))
|
globals.asm: $(TEXTFILES:.asm=.tx)
|
||||||
|
@echo "Creating globals.asm..."
|
||||||
|
@touch globals.asm
|
||||||
@echo "Preprocessing .asm to .tx..."
|
@echo "Preprocessing .asm to .tx..."
|
||||||
@$(PYTHON) prequeue.py $(TEXTQUEUE)
|
@$(PYTHON) prequeue.py $(TEXTQUEUE) globals.asm
|
||||||
$(eval TEXTQUEUE := )
|
|
||||||
|
$(OBJS): $$(patsubst %.o,%.tx,$$@) $$(patsubst %.asm,%.tx,$$(OBJ_$$(patsubst %.o,%,$$@)))
|
||||||
rgbasm -o $@ $(@:.o=.tx)
|
rgbasm -o $@ $(@:.o=.tx)
|
||||||
|
|
||||||
pokecrystal.gbc: $(OBJS)
|
pokecrystal.gbc: $(OBJS)
|
||||||
|
Loading…
Reference in New Issue
Block a user