summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@users.noreply.github.com>2020-07-05 12:49:31 -0400
committerGitHub <noreply@github.com>2020-07-05 12:49:31 -0400
commit4100bf602d2463e9de07e0dfdd87a993335349db (patch)
treec0a548e1f9ff8a3dd3e5da6154c9eb997e895d31
parentd323eca0eca3ff8814c63e84174d07ced99e22f9 (diff)
parent1652a54452896b0b377c3811721ae4a7dcac1315 (diff)
Merge branch 'master' into master
-rw-r--r--Makefile8
-rw-r--r--arm9/Makefile7
-rw-r--r--config.mk6
3 files changed, 18 insertions, 3 deletions
diff --git a/Makefile b/Makefile
index 2e1b1082..9b8b430e 100644
--- a/Makefile
+++ b/Makefile
@@ -194,10 +194,10 @@ $(BUILD_DIR)/%.o: %.s $$(dep)
$(AS) $(ASFLAGS) $< -o $@
arm9:
- $(MAKE) -C arm9 COMPARE=$(COMPARE) GAME_LANGUAGE=$(GAME_LANGUAGE) GAME_VERSION=$(GAME_VERSION)
+ $(MAKE) -C arm9 $(MAKE_VARS)
arm7:
- $(MAKE) -C arm7 COMPARE=$(COMPARE) GAME_LANGUAGE=$(GAME_LANGUAGE) GAME_VERSION=$(GAME_VERSION)
+ $(MAKE) -C arm7 $(MAKE_VARS)
include filesystem.mk
@@ -205,7 +205,11 @@ include filesystem.mk
# FIXME: Computed secure area CRC in header is incorrect due to first 8 bytes of header not actually being "encryObj"
$(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)" $< $@
+ifeq ($(SHIFTED),0)
$(FIXROM) $@ --secure-crc $(SECURE_CRC) --game-code $(GAME_CODE)
+else
+ $(FIXROM) $@ --game-code $(GAME_CODE)
+endif
# Make sure build directory exists before compiling anything
DUMMY != mkdir -p $(ALL_DIRS)
diff --git a/arm9/Makefile b/arm9/Makefile
index 42f86232..4d4b553c 100644
--- a/arm9/Makefile
+++ b/arm9/Makefile
@@ -202,7 +202,12 @@ $(ROM): $(BUILD_DIR)/$(LD_SCRIPT) $(O_FILES) $(STATIC_LIBS)
cd $(BUILD_DIR) && LM_LICENSE_FILE=../../$(LM_LICENSE_FILE) $(WINE) ../../$(MWLDARM) $(LDFLAGS) $(LIBS) -o ../../$(ELF) $(LD_SCRIPT) $(O_FILES:$(BUILD_DIR)/%=%)
$(OBJCOPY) $(foreach ov,arm9 $(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
+ifeq ($(SHIFTED),0)
+SYSCALL_OBJS := $(BUILD_DIR)/lib/syscall/secure.o
+else
+SYSCALL_OBJS := $(BUILD_DIR)/lib/syscall/_svc_mw.o
+endif
+$(BUILD_DIR)/lib/libsyscall.a: $(SYSCALL_OBJS)
$(AR) $(ARFLAGS) -o $@ $^
# Make sure build directory exists before compiling anything
diff --git a/config.mk b/config.mk
index 704634f3..f861fdfb 100644
--- a/config.mk
+++ b/config.mk
@@ -1,6 +1,10 @@
GAME_VERSION ?= DIAMOND
GAME_LANGUAGE ?= ENGLISH
COMPARE ?= 1
+SHIFTED ?= 0
+ifneq ($(SHIFTED),0)
+COMPARE := 0
+endif
ifeq ($(GAME_VERSION),DIAMOND)
GAME_CODE := ADA
@@ -37,3 +41,5 @@ endif
endif
BUILD_TARGET := poke$(BUILD_NAME)
+
+MAKE_VARS := SHIFTED=$(SHIFTED) COMPARE=$(COMPARE) GAME_LANGUAGE=$(GAME_LANGUAGE) GAME_VERSION=$(GAME_VERSION)