diff options
| author | cadmic <cadmic24@gmail.com> | 2025-01-05 22:45:12 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-01-06 01:45:12 -0500 |
| commit | 3aafbf3971502e70f9ff672c3c820137d8f1ce6f (patch) | |
| tree | 5a6acc8d7aacf5afe4d3bf9172e18cec3be62dd2 /Makefile | |
| parent | bd606ba03850a2baf29690818a6d1f9e9ef1bfc2 (diff) | |
Match remaining IDO files for iQue (#2394)
Diffstat (limited to 'Makefile')
| -rw-r--r-- | Makefile | 27 |
1 files changed, 20 insertions, 7 deletions
@@ -293,6 +293,9 @@ OBJDUMP := $(MIPS_BINUTILS_PREFIX)objdump NM := $(MIPS_BINUTILS_PREFIX)nm STRIP := $(MIPS_BINUTILS_PREFIX)strip +# Command to patch certain object files after they are built +POSTPROCESS_OBJ := @: + # The default iconv on macOS has some differences from GNU iconv, so we use the Homebrew version instead ifeq ($(UNAME_S),Darwin) ICONV := $(shell brew --prefix)/opt/libiconv/bin/iconv @@ -545,6 +548,15 @@ endif ifeq ($(COMPILER),ido) $(BUILD_DIR)/src/boot/driverominit.o: OPTFLAGS := -O2 +ifeq ($(PLATFORM),IQUE) +# iQue's driverominit.o seems to have been patched manually. For non-matching builds we edit the source code instead. +ifneq ($(NON_MATCHING),1) +$(BUILD_DIR)/src/boot/driverominit.o: POSTPROCESS_OBJ := $(PYTHON) tools/patch_ique_driverominit.py +endif + +$(BUILD_DIR)/src/boot/viconfig.o: OPTFLAGS := -O2 +endif + $(BUILD_DIR)/src/code/jpegutils.o: OPTFLAGS := -O2 $(BUILD_DIR)/src/code/jpegdecoder.o: OPTFLAGS := -O2 @@ -630,11 +642,17 @@ $(BUILD_DIR)/src/libultra/os/writebackdcache.o: MIPS_VERSION := -mips3 $(BUILD_DIR)/src/libultra/os/writebackdcacheall.o: MIPS_VERSION := -mips3 else $(BUILD_DIR)/src/libultra/%.o: CC := $(CC_OLD) + $(BUILD_DIR)/src/libultra/libc/ll.o: OPTFLAGS := -O1 $(BUILD_DIR)/src/libultra/libc/ll.o: MIPS_VERSION := -mips3 -32 +$(BUILD_DIR)/src/libultra/libc/ll.o: POSTPROCESS_OBJ := $(PYTHON) tools/set_o32abi_bit.py + $(BUILD_DIR)/src/libultra/libc/llcvt.o: OPTFLAGS := -O1 $(BUILD_DIR)/src/libultra/libc/llcvt.o: MIPS_VERSION := -mips3 -32 +$(BUILD_DIR)/src/libultra/libc/llcvt.o: POSTPROCESS_OBJ := $(PYTHON) tools/set_o32abi_bit.py + $(BUILD_DIR)/src/libultra/os/exceptasm.o: MIPS_VERSION := -mips3 -32 +$(BUILD_DIR)/src/libultra/os/exceptasm.o: POSTPROCESS_OBJ := $(PYTHON) tools/set_o32abi_bit.py endif $(BUILD_DIR)/src/code/%.o: ASOPTFLAGS := -O2 @@ -718,11 +736,6 @@ $(BUILD_DIR)/src/libultra/libc/ll.o: OPTFLAGS := -Ofast $(BUILD_DIR)/src/overlays/%.o: CFLAGS += -fno-merge-constants -mno-explicit-relocs -mno-split-addresses endif -SET_ABI_BIT = @: -$(BUILD_DIR)/src/libultra/os/exceptasm.o: SET_ABI_BIT = $(PYTHON) tools/set_o32abi_bit.py $@ -$(BUILD_DIR)/src/libultra/libc/ll.o: SET_ABI_BIT = $(PYTHON) tools/set_o32abi_bit.py $@ -$(BUILD_DIR)/src/libultra/libc/llcvt.o: SET_ABI_BIT = $(PYTHON) tools/set_o32abi_bit.py $@ - #### Main Targets ### all: rom compress @@ -899,10 +912,10 @@ ifeq ($(COMPILER),ido) # but strip doesn't know about file-relative offsets in .mdebug and doesn't relocate them, ld will # segfault unless .mdebug is removed $(OBJCOPY) --remove-section .mdebug $(@:.o=.tmp.o) $@ - $(SET_ABI_BIT) else $(CCAS) -c $(CCASFLAGS) $(MIPS_VERSION) $(ASOPTFLAGS) -o $@ $< endif + $(POSTPROCESS_OBJ) $@ $(OBJDUMP_CMD) # Incremental link to move z_message and z_game_over data into rodata @@ -933,7 +946,7 @@ ifneq ($(RUN_CC_CHECK),0) $(CC_CHECK) $< endif $(CC) -c $(CFLAGS) $(MIPS_VERSION) $(OPTFLAGS) -o $@ $< - $(SET_ABI_BIT) + $(POSTPROCESS_OBJ) $@ $(OBJDUMP_CMD) $(BUILD_DIR)/src/audio/session_init.o: src/audio/session_init.c $(BUILD_DIR)/assets/audio/soundfont_sizes.h $(BUILD_DIR)/assets/audio/sequence_sizes.h |
