summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2021-03-10 17:16:45 -0500
committerGriffinR <griffin.g.richards@gmail.com>2021-03-10 17:19:11 -0500
commitbf6e80850c1c2c49b6361b16a473a6833aa93994 (patch)
tree303f85985596ae8b8a2ce0d401e93c1777d634df
parentb2f0efc6f7882d4d8f5da28e5e8748cd4f91159d (diff)
Sync Berry Fix makefiles with pokeemerald
-rw-r--r--Makefile2
-rw-r--r--berry_fix/Makefile30
-rw-r--r--berry_fix/payload/Makefile35
3 files changed, 53 insertions, 14 deletions
diff --git a/Makefile b/Makefile
index 51877e9b9..405a190f8 100644
--- a/Makefile
+++ b/Makefile
@@ -266,7 +266,7 @@ $(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) -I . $(DATA_ASM_SUBDIR)/
endif
berry_fix:
- @$(MAKE) -C berry_fix COMPARE=$(COMPARE)
+ @$(MAKE) -C berry_fix COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN)
berry_fix/berry_fix.gba: berry_fix
diff --git a/berry_fix/Makefile b/berry_fix/Makefile
index 1e0f3ee25..a63941494 100644
--- a/berry_fix/Makefile
+++ b/berry_fix/Makefile
@@ -1,8 +1,29 @@
-include $(DEVKITARM)/base_tools
+TOOLCHAIN := $(DEVKITARM)
COMPARE ?= 0
-CPP := $(CC) -E
-LD := $(DEVKITARM)/bin/arm-none-eabi-ld
+ifeq ($(CC),)
+HOSTCC := gcc
+else
+HOSTCC := $(CC)
+endif
+
+ifeq ($(CXX),)
+HOSTCXX := g++
+else
+HOSTCXX := $(CXX)
+endif
+
+ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
+include $(TOOLCHAIN)/base_tools
+else
+export PATH := $(TOOLCHAIN)/bin:$(PATH)
+PREFIX := arm-none-eabi-
+OBJCOPY := $(PREFIX)objcopy
+export CC := $(PREFIX)gcc
+export AS := $(PREFIX)as
+endif
+export CPP := $(PREFIX)cpp
+export LD := $(PREFIX)ld
ifeq ($(OS),Windows_NT)
EXE := .exe
@@ -145,7 +166,7 @@ $(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s)
endif
payload:
- @$(MAKE) -C payload COMPARE=$(COMPARE)
+ @$(MAKE) -C payload COMPARE=$(COMPARE) TOOLCHAIN=$(TOOLCHAIN)
payload/payload.gba: payload
@@ -164,4 +185,3 @@ $(ELF): ld_script.txt $(OBJS)
$(ROM): $(ELF)
$(OBJCOPY) -O binary $< $@
$(FIX) $@ -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent
-
diff --git a/berry_fix/payload/Makefile b/berry_fix/payload/Makefile
index c87a06c41..a852c52dc 100644
--- a/berry_fix/payload/Makefile
+++ b/berry_fix/payload/Makefile
@@ -1,8 +1,29 @@
-include $(DEVKITARM)/base_tools
+TOOLCHAIN := $(DEVKITARM)
COMPARE ?= 0
-CPP := $(CC) -E
-LD := $(DEVKITARM)/bin/arm-none-eabi-ld
+ifeq ($(CC),)
+HOSTCC := gcc
+else
+HOSTCC := $(CC)
+endif
+
+ifeq ($(CXX),)
+HOSTCXX := g++
+else
+HOSTCXX := $(CXX)
+endif
+
+ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
+include $(TOOLCHAIN)/base_tools
+else
+export PATH := $(TOOLCHAIN)/bin:$(PATH)
+PREFIX := arm-none-eabi-
+OBJCOPY := $(PREFIX)objcopy
+export CC := $(PREFIX)gcc
+export AS := $(PREFIX)as
+endif
+export CPP := $(PREFIX)cpp
+export LD := $(PREFIX)ld
ifeq ($(OS),Windows_NT)
EXE := .exe
@@ -56,7 +77,7 @@ FIX := ../../tools/gbafix/gbafix$(EXE)
# Secondary expansion is required for dependency variables in object rules.
.SECONDEXPANSION:
-.PHONY: rom clean compare tidy
+.PHONY: all rom clean compare tidy
C_SRCS := $(wildcard $(C_SUBDIR)/*.c $(C_SUBDIR)/*/*.c $(C_SUBDIR)/*/*/*.c)
C_OBJS := $(patsubst $(C_SUBDIR)/%.c,$(C_BUILDDIR)/%.o,$(C_SRCS))
@@ -95,8 +116,7 @@ ifeq ($(COMPARE),1)
endif
# For contributors to make sure a change didn't affect the contents of the ROM.
-compare:
- @$(MAKE) COMPARE=1
+compare: ; @$(MAKE) COMPARE=1
clean: tidy
rm -f sound/direct_sound_samples/*.bin
@@ -158,7 +178,7 @@ $(OBJ_DIR)/sym_bss.ld: sym_bss.txt
$(RAMSCRGEN) .bss $< ENGLISH > $@
$(OBJ_DIR)/sym_common.ld: sym_common.txt $(C_OBJS) $(wildcard common_syms/*.txt)
- $(RAMSCRGEN) COMMON $< ENGLISH -c $(C_BUILDDIR),common_syms,../../tools/agbcc/lib > $@
+ $(RAMSCRGEN) COMMON $< ENGLISH -c $(C_BUILDDIR),common_syms > $@
$(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt
$(RAMSCRGEN) ewram_data $< ENGLISH > $@
@@ -171,4 +191,3 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS)
$(ROM): $(ELF)
$(OBJCOPY) -O binary $< $@
-