TARGET := gpsp.z64 SOURCES := n64main.c unf/usb.c unf/debug.c #OPTFLAG = -O0 -ggdb OPTFLAG = -O3 -flto=auto CFLAGS := -Wall -Wno-unused-function -DFULLSCREEN LDFLAGS := -flto=auto #CFLAGS += -DTRACE_INSTRUCTIONS #CFLAGS += -DTRACE_REGISTERS #CFLAGS += -DTRACE_EVENTS #CFLAGS += -DNO_PRINT_ONLY_TRACE CORE_DIR := $(abspath ..) HAVE_DYNAREC := 0 ifeq ($(HAVE_DYNAREC),1) CFLAGS += -DHAVE_DYNAREC endif CFLAGS += -DMIPS_ARCH -DUSE_RGBA5551_FORMAT -DROM_BUFFER_SIZE=1 CFLAGS += -DHAVE_STRINGS_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H -D__LIBRETRO__ -DINLINE=inline CPU_ARCH := mips include $(CORE_DIR)/Makefile.common SOURCES_C := $(filter-out $(CORE_DIR)/libretro/libretro.c,$(SOURCES_C)) CFLAGS += $(INCFLAGS) BUILD_DIR = build CXXFLAGS := $(CFLAGS) ASFLAGS := $(CFLAGS) -Wa,-I$(CORE_DIR) -DN64 include $(N64_INST)/include/n64.mk N64_CFLAGS += $(OPTFLAG) N64_CXXFLAGS += $(OPTFLAG) OBJS := $(addprefix $(BUILD_DIR)/,$(SOURCES:.c=.o)) OBJS += $(addprefix $(BUILD_DIR)/,$(SOURCES_C:.c=.o)) OBJS += $(addprefix $(BUILD_DIR)/,$(SOURCES_CC:.cc=.o)) OBJS += $(addprefix $(BUILD_DIR)/,$(SOURCES_ASM:.S=.o)) all: $(TARGET) clean: $(RM) -rf $(BUILD_DIR) .PHONY: all clean debug everdrive $(BUILD_DIR)/%.o: $(SOURCE_DIR)/%.cc @mkdir -p $(dir $@) @echo " [CXX] $<" $(CXX) -c $(CXXFLAGS) -o $@ $< $(TARGET): N64_ROM_TITLE = "gameplaySP64" $(TARGET): $(BUILD_DIR)/$(TARGET:.z64=.dfs) $(BUILD_DIR)/$(TARGET:.z64=.elf): $(OBJS) $(BUILD_DIR)/$(TARGET:.z64=.dfs): $(wildcard filesystem/*) debug: $(TARGET) ares --setting DebugServer/Enabled=true \ --setting Boot/Debugger=true \ --setting General/HomebrewMode=true \ $(TARGET) | grep -vE '^CPU ffffffff[^a]' & gdb $(BUILD_DIR)/$(TARGET:.z64=.elf) -ex 'target remote tcp::9123' everdrive: $(TARGET) usb64 -rom=$(TARGET) usb64 -start -include $(OBJS:.o=.d)