mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 17:02:46 +01:00
merge master
This commit is contained in:
commit
7d1dd6058a
40
Makefile
40
Makefile
@ -20,6 +20,11 @@ ifeq ($(NON_MATCHING),1)
|
|||||||
override COMPARE=0
|
override COMPARE=0
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# PERMUTER=1 implies WATCH_INCLUDES=0
|
||||||
|
ifeq ($(PERMUTER),1)
|
||||||
|
override WATCH_INCLUDES=0
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
### Output ###
|
### Output ###
|
||||||
|
|
||||||
@ -38,14 +43,7 @@ N64CKSUM := tools/n64crc
|
|||||||
SPLAT_YAML := tools/splat.yaml
|
SPLAT_YAML := tools/splat.yaml
|
||||||
SPLAT = $(PYTHON) tools/n64splat/split.py $(BASEROM) $(SPLAT_YAML) .
|
SPLAT = $(PYTHON) tools/n64splat/split.py $(BASEROM) $(SPLAT_YAML) .
|
||||||
YAY0COMPRESS = tools/Yay0compress
|
YAY0COMPRESS = tools/Yay0compress
|
||||||
|
|
||||||
ifndef EMULATOR
|
|
||||||
ifneq ($(shell which mupen64plus-gui),)
|
|
||||||
EMULATOR = mupen64plus-gui
|
|
||||||
else
|
|
||||||
EMULATOR = mupen64plus
|
EMULATOR = mupen64plus
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
### Compiler Options ###
|
### Compiler Options ###
|
||||||
@ -58,12 +56,17 @@ CPP := cpp
|
|||||||
LD := $(CROSS)ld
|
LD := $(CROSS)ld
|
||||||
OBJCOPY := $(CROSS)objcopy
|
OBJCOPY := $(CROSS)objcopy
|
||||||
|
|
||||||
CPPFLAGS := -Iinclude -Isrc -D _LANGUAGE_C -ffreestanding -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -Wundef -Wcomment -MP -MD
|
CPPFLAGS := -Iinclude -Isrc -D _LANGUAGE_C -ffreestanding -DF3DEX_GBI_2 -D_MIPS_SZLONG=32 -Wundef -Wcomment
|
||||||
ASFLAGS := -EB -Iinclude -march=vr4300 -mtune=vr4300
|
ASFLAGS := -EB -Iinclude -march=vr4300 -mtune=vr4300
|
||||||
OLDASFLAGS := -EB -Iinclude -G 0
|
OLDASFLAGS := -EB -Iinclude -G 0
|
||||||
CFLAGS := -O2 -quiet -G 0 -mcpu=vr4300 -mfix4300 -mips3 -mgp32 -mfp32 -Wimplicit -Wuninitialized -Wshadow
|
CFLAGS := -O2 -quiet -G 0 -mcpu=vr4300 -mfix4300 -mips3 -mgp32 -mfp32 -Wimplicit -Wuninitialized -Wshadow
|
||||||
LDFLAGS := -T undefined_syms.txt -T undefined_funcs.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -Map $(LD_MAP) --no-check-sections
|
LDFLAGS := -T undefined_syms.txt -T undefined_funcs.txt -T $(BUILD_DIR)/$(LD_SCRIPT) -Map $(LD_MAP) --no-check-sections
|
||||||
|
|
||||||
|
ifeq ($(WATCH_INCLUDES),1)
|
||||||
|
CPPMFLAGS = -MP -MD -MF $@.mk -MT $(BUILD_DIR)/$*.d
|
||||||
|
MDEPS = $(BUILD_DIR)/%.d
|
||||||
|
endif
|
||||||
|
|
||||||
ifeq ($(NON_MATCHING),1)
|
ifeq ($(NON_MATCHING),1)
|
||||||
CPPFLAGS += -DNON_MATCHING
|
CPPFLAGS += -DNON_MATCHING
|
||||||
endif
|
endif
|
||||||
@ -106,11 +109,7 @@ split-all:
|
|||||||
$(SPLAT) --modes all
|
$(SPLAT) --modes all
|
||||||
|
|
||||||
test: $(ROM)
|
test: $(ROM)
|
||||||
ifdef EMULATOR
|
|
||||||
$(EMULATOR) $<
|
$(EMULATOR) $<
|
||||||
else
|
|
||||||
@echo "N64 emulator not detected." && false
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Compressed files
|
# Compressed files
|
||||||
%.Yay0: %
|
%.Yay0: %
|
||||||
@ -131,14 +130,14 @@ $(BUILD_DIR)/%.Yay0.o: $(BUILD_DIR)/%.bin.Yay0
|
|||||||
$(LD) -r -b binary -o $@ $<
|
$(LD) -r -b binary -o $@ $<
|
||||||
|
|
||||||
# Compile C files
|
# Compile C files
|
||||||
$(BUILD_DIR)/%.c.o: %.c $(BUILD_DIR)/%.d
|
$(BUILD_DIR)/%.c.o: %.c $(MDEPS)
|
||||||
@mkdir -p $(shell dirname $@)
|
@mkdir -p $(shell dirname $@)
|
||||||
$(CPP) $(CPPFLAGS) -o - $< -MF $@.mk -MT $(BUILD_DIR)/$*.d | $(CC) $(CFLAGS) -o - - | $(OLD_AS) $(OLDASFLAGS) -o $@ -
|
$(CPP) $(CPPFLAGS) -o - $< $(CPPMFLAGS) | $(CC) $(CFLAGS) -o - | $(OLD_AS) $(OLDASFLAGS) -o $@ -
|
||||||
|
|
||||||
# Compile C files (with DSL macros)
|
# Compile C files (with DSL macros)
|
||||||
$(foreach cfile, $(DSL_C_FILES), $(BUILD_DIR)/$(cfile).o): $(BUILD_DIR)/%.c.o: %.c $(BUILD_DIR)/%.d
|
$(foreach cfile, $(DSL_C_FILES), $(BUILD_DIR)/$(cfile).o): $(BUILD_DIR)/%.c.o: %.c $(MDEPS)
|
||||||
@mkdir -p $(shell dirname $@)
|
@mkdir -p $(shell dirname $@)
|
||||||
$(CPP) $(CPPFLAGS) -o - $< -MF $@.mk -MT $(BUILD_DIR)/$*.d | tools/compile_dsl_macros.py | $(CC) $(CFLAGS) -o - - | $(OLD_AS) $(OLDASFLAGS) -o $@ -
|
$(CPP) $(CPPFLAGS) -o - $< $(CPPMFLAGS) | tools/compile_dsl_macros.py | $(CC) $(CFLAGS) -o - | $(OLD_AS) $(OLDASFLAGS) -o $@ -
|
||||||
|
|
||||||
# Assemble handwritten ASM
|
# Assemble handwritten ASM
|
||||||
$(BUILD_DIR)/%.s.o: %.s
|
$(BUILD_DIR)/%.s.o: %.s
|
||||||
@ -173,12 +172,12 @@ ifeq ($(COMPARE),1)
|
|||||||
@sha1sum -c checksum.sha1 || (echo 'The build succeeded, but did not match the base ROM. This is expected if you are making changes to the game. To skip this check, use "make COMPARE=0".' && false)
|
@sha1sum -c checksum.sha1 || (echo 'The build succeeded, but did not match the base ROM. This is expected if you are making changes to the game. To skip this check, use "make COMPARE=0".' && false)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(BUILD_DIR)/$(TARGET).bin: $(BUILD_DIR)/$(TARGET).elf
|
|
||||||
$(OBJCOPY) $< $@ -O binary
|
|
||||||
|
|
||||||
$(BUILD_DIR)/$(TARGET).elf: $(BUILD_DIR)/$(LD_SCRIPT) $(OBJECTS)
|
$(BUILD_DIR)/$(TARGET).elf: $(BUILD_DIR)/$(LD_SCRIPT) $(OBJECTS)
|
||||||
$(LD) $(LDFLAGS) -o $@
|
$(LD) $(LDFLAGS) -o $@
|
||||||
|
|
||||||
|
$(BUILD_DIR)/$(TARGET).bin: $(BUILD_DIR)/$(TARGET).elf
|
||||||
|
$(OBJCOPY) $< $@ -O binary
|
||||||
|
|
||||||
|
|
||||||
### Make Settings ###
|
### Make Settings ###
|
||||||
|
|
||||||
@ -190,3 +189,6 @@ $(BUILD_DIR)/$(TARGET).elf: $(BUILD_DIR)/$(LD_SCRIPT) $(OBJECTS)
|
|||||||
|
|
||||||
# Remove built-in implicit rules to improve performance
|
# Remove built-in implicit rules to improve performance
|
||||||
MAKEFLAGS += --no-builtin-rules
|
MAKEFLAGS += --no-builtin-rules
|
||||||
|
|
||||||
|
# Fail targets if any command in the pipe exits with error
|
||||||
|
SHELL = /bin/bash -e -o pipefail
|
||||||
|
Loading…
Reference in New Issue
Block a user