mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-04-26 16:37:04 -05:00
fix parallel builds + makefile convenience targets
This commit is contained in:
parent
e7748e1755
commit
8496abf55b
24
Makefile
24
Makefile
|
|
@ -31,7 +31,10 @@ HEADER_TEMPLATE := $(buildname)/rom_header_template.sbin
|
|||
|
||||
MAKEFLAGS += --no-print-directory
|
||||
|
||||
all: $(ROM)
|
||||
all:
|
||||
$(MAKE) tools
|
||||
$(MAKE) patch_mwasmarm
|
||||
$(MAKE) $(ROM)
|
||||
|
||||
tidy:
|
||||
@$(MAKE) -C sub tidy
|
||||
|
|
@ -50,16 +53,17 @@ sdk9 sdk7: sdk
|
|||
main filesystem: | sdk9
|
||||
sub: | sdk7
|
||||
|
||||
main: $(SBIN) $(ELF)
|
||||
main: $(SBIN) $(ELF)
|
||||
main_lz: $(SBIN_LZ)
|
||||
sub: ; @$(MAKE) -C sub
|
||||
|
||||
ROMSPEC := rom.rsf
|
||||
MAKEROM_FLAGS := $(DEFINES)
|
||||
|
||||
$(ELF): libsyscall
|
||||
$(ALL_OBJS): filesystem
|
||||
$(ELF): filesystem libsyscall
|
||||
|
||||
libsyscall:
|
||||
libsyscall: filesystem
|
||||
$(MAKE) -C lib/syscall all install INSTALL_PREFIX=$(abspath $(WORK_DIR)/$(BUILD_DIR)) GAME_CODE=$(GAME_CODE)
|
||||
|
||||
$(SBIN_LZ): $(BUILD_DIR)/component.files
|
||||
|
|
@ -69,7 +73,7 @@ $(BUILD_DIR)/component.files: main ;
|
|||
|
||||
$(HEADER_TEMPLATE): ;
|
||||
|
||||
$(ROM): $(ROMSPEC) tools filesystem main_lz sub $(BANNER)
|
||||
$(ROM): $(ROMSPEC) filesystem main_lz sub $(BANNER)
|
||||
$(WINE) $(MAKEROM) $(MAKEROM_FLAGS) -DBUILD_DIR=$(BUILD_DIR) -DNITROFS_FILES="$(NITROFS_FILES:files/%=%)" -DTITLE_NAME="$(TITLE_NAME)" -DBNR="$(BANNER)" -DHEADER_TEMPLATE="$(HEADER_TEMPLATE)" $< $@
|
||||
$(FIXROM) $@ --secure-crc $(SECURE_CRC) --game-code $(GAME_CODE)
|
||||
ifeq ($(COMPARE),1)
|
||||
|
|
@ -90,9 +94,11 @@ $(WORK_DIR)/include/global.h: $(FX_CONST_H) ;
|
|||
# Convenience targets
|
||||
heartgold: ; @$(MAKE) GAME_VERSION=HEARTGOLD
|
||||
soulsilver: ; @$(MAKE) GAME_VERSION=SOULSILVER
|
||||
compare-heartgold: ; @$(MAKE) GAME_VERSION=HEARTGOLD COMPARE=1
|
||||
compare-soulsilver: ; @$(MAKE) GAME_VERSION=SOULSILVER COMPARE=1
|
||||
compare_heartgold: ; @$(MAKE) GAME_VERSION=HEARTGOLD COMPARE=1
|
||||
compare_soulsilver: ; @$(MAKE) GAME_VERSION=SOULSILVER COMPARE=1
|
||||
clean_heartgold: ; @$(MAKE) GAME_VERSION=HEARTGOLD clean
|
||||
clean_soulsilver: ; @$(MAKE) GAME_VERSION=SOULSILVER clean
|
||||
|
||||
compare: compare-heartgold
|
||||
compare: compare_heartgold
|
||||
|
||||
.PHONY: heartgold soulsilver compare compare-heartgold compare-soulsilver
|
||||
.PHONY: heartgold soulsilver compare compare_heartgold compare_soulsilver clean_heartgold clean_soulsilver
|
||||
|
|
|
|||
12
common.mk
12
common.mk
|
|
@ -131,13 +131,11 @@ DUMMY := $(shell mkdir -p $(ALL_BUILDDIRS))
|
|||
.SECONDARY:
|
||||
.SECONDEXPANSION:
|
||||
.DELETE_ON_ERROR:
|
||||
.PHONY: all tidy clean tools clean-tools $(TOOLDIRS)
|
||||
.PHONY: all tidy clean tools clean-tools patch_mwasmarm $(TOOLDIRS)
|
||||
.PRECIOUS: $(SBIN)
|
||||
.NOTPARALLEL:
|
||||
|
||||
.PHONY: $(MWAS)
|
||||
$(MWAS):
|
||||
$(ASPATCH) -q $@
|
||||
patch_mwasmarm:
|
||||
$(ASPATCH) -q $(MWAS)
|
||||
|
||||
ifeq ($(NODEP),)
|
||||
ifneq ($(WINPATH),)
|
||||
|
|
@ -222,7 +220,9 @@ ifeq ($(COMPARE),1)
|
|||
$(SHA1SUM) --quiet -c $*.sha1
|
||||
endif
|
||||
|
||||
$(ELF): $(LCF) $(RESPONSE) $(ALL_OBJS)
|
||||
$(ELF): $(ALL_OBJS)
|
||||
$(MAKE) $(LCF)
|
||||
$(MAKE) $(RESPONSE)
|
||||
cd $(BUILD_DIR) && LM_LICENSE_FILE=$(BACK_REL)/$(LM_LICENSE_FILE) $(WINE) $(MWLD) $(MWLDFLAGS) $(LIBS) -o $(BACK_REL)/$(ELF) $(LCF:$(BUILD_DIR)/%=%) @$(RESPONSE:$(BUILD_DIR)/%=%) $(CRT0_OBJ)
|
||||
# $(NTRMERGE) $*
|
||||
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ endif
|
|||
|
||||
$(SCRIPT_NARC): $(SCRIPT_BINS) check_scripts
|
||||
|
||||
check_scripts:
|
||||
check_scripts: $(SCRIPT_BINS)
|
||||
ifeq ($(COMPARE),1)
|
||||
@$(SHA1SUM) --quiet -c $(PROJECT_ROOT)/scr_seq.sha1
|
||||
endif
|
||||
|
|
|
|||
|
|
@ -7,11 +7,21 @@ MSGFILE_GMM := $(sort $(wildcard $(MSGDATA_MSG_DIR)/*.gmm) $(TRNAME_GMM))
|
|||
MSGFILE_BIN := $(patsubst %.gmm,%.bin,$(MSGFILE_GMM))
|
||||
MSGFILE_H := $(patsubst %.gmm,%.h,$(MSGFILE_GMM))
|
||||
|
||||
TRAINER_JSON := files/poketool/trainer/trainers.json
|
||||
TRNAME_TEMPLATE := files/poketool/trainer/trname.json.txt
|
||||
|
||||
FIRST_MSG_H_GEN := $(MSGDATA_DIR)/headers.done
|
||||
TOUCH_ONCE := $(MSGDATA_DIR)/touch_once.sh
|
||||
|
||||
$(TRNAME_GMM):
|
||||
$(JSONPROC) $(TRAINER_JSON) $(TRNAME_TEMPLATE) $(TRNAME_GMM)
|
||||
$(SED) -i 's/&/&/g' $(TRNAME_GMM)
|
||||
|
||||
$(MSGDATA_MSG_DIR).narc: %.narc: $(MSGFILE_BIN)
|
||||
|
||||
# extremely ugly hack to get it actually building
|
||||
$(MSGDATA_MSG_DIR)/msg_0729.bin: $(TRNAME_GMM)
|
||||
|
||||
$(MSGFILE_BIN): MSGENCFLAGS = -e -c charmap.txt --gmm -H $*.h
|
||||
$(MSGFILE_BIN): %.bin: %.gmm charmap.txt
|
||||
$(MSGENC) $(MSGENCFLAGS) $< $@
|
||||
|
|
@ -27,7 +37,7 @@ $(MSGFILE_H): %.h: %.bin
|
|||
$(FIRST_MSG_H_GEN): $(MSGFILE_H)
|
||||
$(TOUCH_ONCE) $(FIRST_MSG_H_GEN)
|
||||
|
||||
FS_CLEAN_TARGETS += $(MSGDATA_MSG_DIR).narc $(MSGFILE_BIN) $(MSGFILE_H) $(FIRST_MSG_H_GEN)
|
||||
FS_CLEAN_TARGETS += $(MSGDATA_MSG_DIR).narc $(MSGFILE_BIN) $(MSGFILE_H) $(FIRST_MSG_H_GEN) $(TRNAME_GMM)
|
||||
|
||||
files/msgdata/msg/msg_0000.bin: MSGENCFLAGS += -k 0xFEE8
|
||||
files/msgdata/msg/msg_0001.bin: MSGENCFLAGS += -k 0x9140
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@ $(EVO_NARC): %.narc: $(EVO_JSON) $(EVO_TEMPLATE)
|
|||
$(O2NARC) $*.o $@ -n -p 0x00
|
||||
|
||||
$(EVO_NARC): MWCFLAGS += -include global.h
|
||||
$(EVO_JSON): | $(WORK_DIR)/include/global.h
|
||||
$(EVO_JSON): | $(WORK_DIR)/include/global.h tools
|
||||
|
||||
FS_CLEAN_TARGETS += $(EVO_NARC)
|
||||
|
|
|
|||
|
|
@ -23,24 +23,23 @@ POKEGRA_MALE_FRONT_OBJS := $(patsubst $(POKEGRA_SPRITES_DIR)/%/male/front.png,$(
|
|||
POKEGRA_NORMAL_PALS := $(patsubst $(POKEGRA_SPRITES_DIR)/%/female/back.png,$(POKEGRA_BUILD_DIR)/%-04.NCLR,$(POKEGRA_FEMALE_BACK_FILES))
|
||||
POKEGRA_SHINY_PALS := $(patsubst $(POKEGRA_SPRITES_DIR)/%/female/back.png,$(POKEGRA_BUILD_DIR)/%-05.NCLR,$(POKEGRA_FEMALE_BACK_FILES))
|
||||
|
||||
|
||||
$(POKEGRA_BUILD_DIR)/%-00.NCGR:$(POKEGRA_SPRITES_DIR)/%/female/back.png
|
||||
$(POKEGRA_BUILD_DIR)/%-00.NCGR: $(POKEGRA_SPRITES_DIR)/%/female/back.png
|
||||
@mkdir -p $(POKEGRA_BUILD_DIR)
|
||||
$(GFX) $< $@ $(POKEGRA_GFX_FLAGS_SPRITE)
|
||||
|
||||
$(POKEGRA_BUILD_DIR)/%-01.NCGR:$(POKEGRA_SPRITES_DIR)/%/male/back.png
|
||||
$(POKEGRA_BUILD_DIR)/%-01.NCGR: $(POKEGRA_SPRITES_DIR)/%/male/back.png
|
||||
@mkdir -p $(POKEGRA_BUILD_DIR)
|
||||
$(GFX) $< $@ $(POKEGRA_GFX_FLAGS_SPRITE)
|
||||
|
||||
$(POKEGRA_BUILD_DIR)/%-02.NCGR:$(POKEGRA_SPRITES_DIR)/%/female/front.png
|
||||
$(POKEGRA_BUILD_DIR)/%-02.NCGR: $(POKEGRA_SPRITES_DIR)/%/female/front.png
|
||||
@mkdir -p $(POKEGRA_BUILD_DIR)
|
||||
$(GFX) $< $@ $(POKEGRA_GFX_FLAGS_SPRITE)
|
||||
|
||||
$(POKEGRA_BUILD_DIR)/%-03.NCGR:$(POKEGRA_SPRITES_DIR)/%/male/front.png
|
||||
$(POKEGRA_BUILD_DIR)/%-03.NCGR: $(POKEGRA_SPRITES_DIR)/%/male/front.png
|
||||
@mkdir -p $(POKEGRA_BUILD_DIR)
|
||||
$(GFX) $< $@ $(POKEGRA_GFX_FLAGS_SPRITE)
|
||||
|
||||
$(POKEGRA_BUILD_DIR)/%-04.NCLR:$(POKEGRA_SPRITES_DIR)/%/male/front.png
|
||||
$(POKEGRA_BUILD_DIR)/%-04.NCLR: $(POKEGRA_SPRITES_DIR)/%/male/front.png
|
||||
@mkdir -p $(POKEGRA_BUILD_DIR)
|
||||
if test -s $<; then \
|
||||
$(GFX) $< $@ $(POKEGRA_GFX_FLAGS_PAL); \
|
||||
|
|
@ -48,7 +47,7 @@ $(POKEGRA_BUILD_DIR)/%-04.NCLR:$(POKEGRA_SPRITES_DIR)/%/male/front.png
|
|||
$(GFX) $(patsubst $(POKEGRA_SPRITES_DIR)/%/male/front.png,$(POKEGRA_SPRITES_DIR)/%/female/front.png,$<) $@ $(POKEGRA_GFX_FLAGS_PAL); \
|
||||
fi
|
||||
|
||||
$(POKEGRA_BUILD_DIR)/%-05.NCLR:$(POKEGRA_SPRITES_DIR)/%/male/back.png
|
||||
$(POKEGRA_BUILD_DIR)/%-05.NCLR: $(POKEGRA_SPRITES_DIR)/%/male/back.png
|
||||
@mkdir -p $(POKEGRA_BUILD_DIR)
|
||||
if test -s $<; then \
|
||||
$(GFX) $< $@ $(POKEGRA_GFX_FLAGS_PAL); \
|
||||
|
|
|
|||
|
|
@ -1,10 +1,8 @@
|
|||
TRDATA_NARC := files/poketool/trainer/trdata.narc
|
||||
TRPOKE_NARC := files/poketool/trainer/trpoke.narc
|
||||
TRNAME_GMM := files/msgdata/msg/msg_0729.gmm
|
||||
TRAINER_JSON := files/poketool/trainer/trainers.json
|
||||
TRDATA_TEMPLATE := files/poketool/trainer/trdata.json.txt
|
||||
TRPOKE_TEMPLATE := files/poketool/trainer/trpoke.json.txt
|
||||
TRNAME_TEMPLATE := files/poketool/trainer/trname.json.txt
|
||||
|
||||
$(TRDATA_NARC): %.narc: $(TRAINER_JSON) $(TRDATA_TEMPLATE)
|
||||
$(JSONPROC) $^ $*.c
|
||||
|
|
@ -16,11 +14,7 @@ $(TRPOKE_NARC): %.narc: $(TRAINER_JSON) $(TRPOKE_TEMPLATE)
|
|||
$(WINE) $(MWAS) $(MWASFLAGS) -DPM_ASM -o $*.o $*.s
|
||||
$(O2NARC) $*.o $@ -n -p 0x00
|
||||
|
||||
$(TRNAME_GMM): $(TRAINER_JSON) $(TRNAME_TEMPLATE)
|
||||
$(JSONPROC) $^ $@
|
||||
$(SED) -i 's/&/&/g' $@
|
||||
|
||||
$(TRDATA_NARC): MWCFLAGS += -include global.h
|
||||
$(TRAINER_JSON): | $(WORK_DIR)/include/global.h
|
||||
|
||||
FS_CLEAN_TARGETS += $(TRNAME_GMM) $(TRDATA_NARC) $(TRPOKE_NARC)
|
||||
FS_CLEAN_TARGETS += $(TRDATA_NARC) $(TRPOKE_NARC)
|
||||
|
|
|
|||
|
|
@ -481,7 +481,8 @@ $(filter-out $(DIFF_ARCS) $(FS_RULE_OVERRIDES),$(NITROFS_FILES)): ;
|
|||
include graphics_files_rules.mk
|
||||
|
||||
NTR_FILE_EXT := bin NCGR NCLR NCER NSCR NSBMD NSBCA NSBTA
|
||||
|
||||
$(NITROFS_FILES):
|
||||
$(NARC_DEPS):
|
||||
%.narc: NARC_DEPS = $(foreach ext,$(NTR_FILE_EXT),$(wildcard $*/*.$ext))
|
||||
%.narc: $(NARC_DEPS)
|
||||
$(KNARC) -d $* -p $@ -i
|
||||
|
|
|
|||
|
|
@ -15,7 +15,9 @@ LIB := $(BUILD_DIR)/libsyscall.a
|
|||
INSTALL_PREFIX ?= $(WORK_DIR)/lib/ARM9-TS
|
||||
INSTALL_LIBDIR := $(INSTALL_PREFIX)/lib
|
||||
|
||||
all: $(LIB)
|
||||
all:
|
||||
$(MAKE) patch_mwasmarm
|
||||
$(MAKE) $(LIB)
|
||||
|
||||
ASM_SRCS := asm/_secure_$(GAME_CODE).s
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,11 @@ tidy:
|
|||
|
||||
clean: tidy
|
||||
|
||||
all: $(SBIN) $(ELF)
|
||||
all:
|
||||
$(MAKE) patch_mwasmarm
|
||||
$(MAKE) target
|
||||
|
||||
target: $(SBIN) $(ELF)
|
||||
|
||||
compare: COMPARE := 1
|
||||
compare: all
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user