diff options
-rw-r--r-- | .travis.yml | 2 | ||||
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | arm9/Makefile | 21 | ||||
-rw-r--r-- | filesystem.mk | 4 |
4 files changed, 17 insertions, 14 deletions
diff --git a/.travis.yml b/.travis.yml index a94b436f..b2dca34e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ dist: bionic -sudo: false +os: linux language: c env: global: @@ -288,8 +288,6 @@ $(BUILD_DIR)/%.o: %.c $$(dep) $(BUILD_DIR)/%.o: %.s $$(dep) $(AS) $(ASFLAGS) $< -o $@ -$(SBINFILES): arm9 arm7 - arm9: $(MAKE) -C arm9 COMPARE=$(COMPARE) GAME_LANGUAGE=$(GAME_LANGUAGE) GAME_VERSION=$(GAME_VERSION) @@ -300,7 +298,7 @@ include filesystem.mk # TODO: Rules for Pearl # FIXME: Computed secure area CRC in header is incorrect due to first 8 bytes of header not actually being "encryObj" -$(ROM): rom.rsf $(BNR) $(SBINFILES) $(HOSTFS_FILES) tools/bin/rom_header.template.sbin +$(ROM): rom.rsf arm9 arm7 filesystem $(BNR) tools/bin/rom_header.template.sbin $(MAKEROM) -DBUILD_DIR="$(BUILD_DIR)" -DBNR="$(BNR)" -DTITLE_NAME="$(TITLE_NAME)" -DNITROFS_FILES="$(NITROFS_FILES)" $< $@ $(FIXROM) $@ --secure-crc $(SECURE_CRC) --game-code $(GAME_CODE) diff --git a/arm9/Makefile b/arm9/Makefile index 2d74cd67..6b730f06 100644 --- a/arm9/Makefile +++ b/arm9/Makefile @@ -49,15 +49,18 @@ LD_TEMPLATE := ARM9-TS.lcf.template # Directories containing source files SRC_DIRS := src lib lib/src $(wildcard modules/*/src) -ASM_DIRS := asm lib/syscall data files $(wildcard modules/*/asm) +ASM_DIRS := asm data files $(wildcard modules/*/asm) +LIBASM_DIRS := lib/syscall -C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) -CXX_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.cpp)) -S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s)) +C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) +CXX_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.cpp)) +S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s)) +LIBS_FILES := $(foreach dir,$(LIBASM_DIRS),$(wildcard $(dir)/*.s)) C_OBJS = $(C_FILES:%.c=$(BUILD_DIR)/%.o) CXX_OBJS = $(CXX_FILES:%.cpp=$(BUILD_DIR)/%.o) S_OBJS = $(S_FILES:%.s=$(BUILD_DIR)/%.o) +LIBS_OBJS = $(LIBS_FILES:%.s=$(BUILD_DIR)/%.o) # Object files O_FILES := $(C_OBJS) $(CXX_OBJS) $(S_OBJS) @@ -255,7 +258,7 @@ $(MWASMARM): patch_mwasmarm patch_mwasmarm: $(MWASMARM_PATCHER) $(MWASMARM) -ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS)) +ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS) $(LIBASM_DIRS)) ######################## Special Rules ######################## @@ -276,7 +279,7 @@ $(C_OBJS): $(BUILD_DIR)/%.o: %.c $$(dep) $(CXX_OBJS): $(BUILD_DIR)/%.o: %.cpp $$(dep) $(CXX) -c $(CXXFLAGS) -o $@ $< -$(S_OBJS): $(BUILD_DIR)/%.o: %.s $$(dep) +$(S_OBJS) $(LIBS_OBJS): $(BUILD_DIR)/%.o: %.s $$(dep) $(AS) $(ASFLAGS) -o $@ $< # $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SPEC) $(LD_TEMPLATE) @@ -285,8 +288,8 @@ $(S_OBJS): $(BUILD_DIR)/%.o: %.s $$(dep) $(BUILD_DIR)/$(LD_SCRIPT): $(LD_SCRIPT) $(CPP) $(VERSION_CFLAGS) -MMD -MP -MT $@ -MF $@.d -I include/ -I . -DBUILD_DIR=$(BUILD_DIR) -o $@ $< -$(ROM): $(O_FILES) $(BUILD_DIR)/$(LD_SCRIPT) $(BIN_FILES) $(STATIC_LIBS) - $(LD) $(LDFLAGS) $(LIBS) $(BUILD_DIR)/$(LD_SCRIPT) -o $(ELF) $(O_FILES) $(BIN_FILES) +$(ROM): $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES) $(STATIC_LIBS) + $(LD) $(LDFLAGS) $(LIBS) -o $(ELF) $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES) $(OBJCOPY) --update-section arm9=$@ -j arm9 $(foreach ov,$(OVERLAYS),--update-section $(ov)=$(BUILD_DIR)/$(ov).sbin -j $(ov)) $(ELF) 2>/dev/null $(BUILD_DIR)/lib/libsyscall.a: $(BUILD_DIR)/lib/syscall/secure.o @@ -314,8 +317,6 @@ DUMMY != mkdir -p $(ALL_DIRS) %.h: ; %.inc: ; -$(BIN_FILES): ; - ### Debug Print ### print-% : ; $(info $* is a $(flavor $*) variable set to [$($*)]) @true diff --git a/filesystem.mk b/filesystem.mk index 9ca0db9f..4c8ded36 100644 --- a/filesystem.mk +++ b/filesystem.mk @@ -2217,3 +2217,7 @@ files/data/namein.narc: \ files/data/namein/narc_0012.bin.lz \ files/data/namein/narc_0013.bin.lz \ files/data/namein/narc_0007.bin.lz + +.PHONY: filesystem + +filesystem: $(HOSTFS_FILES) |