75 lines
1.8 KiB
Makefile
75 lines
1.8 KiB
Makefile
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)
|