mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-25 00:49:47 +00:00
1cd0938cc3
* Allow parallel compilation in PS2 * Allow to compile with griffin or common compilation in PS2 * Enable dummy core to be used in other platforms * Use threads in YML config * Add the compilation to PS2 in GitHub Actions
146 lines
3.4 KiB
Makefile
146 lines
3.4 KiB
Makefile
TARGET := retroarch_ps2
|
|
TARGET_RELEASE = retroarchps2.elf
|
|
|
|
BUILD_FOR_PCSX2 = 0
|
|
DEBUG = 0
|
|
SCREEN_DEBUG = 0
|
|
GRIFFIN_BUILD = 0
|
|
HAVE_THREADS = 0
|
|
MUTE_WARNINGS = 1
|
|
WHOLE_ARCHIVE_LINK = 0
|
|
HAVE_STATIC_DUMMY ?= 0
|
|
PS2_IP = 192.168.1.10
|
|
|
|
ifeq ($(DEBUG), 1)
|
|
OPTIMIZE_LV := -O0 -g
|
|
DEFINES += -DDEBUG
|
|
else
|
|
OPTIMIZE_LV := -O3
|
|
# LDFLAGS := -s
|
|
endif
|
|
|
|
ifeq ($(MUTE_WARNINGS), 1)
|
|
DISABLE_WARNINGS := -Wno-unused -Wno-format -Wno-format-truncation
|
|
endif
|
|
|
|
ifeq ($(HAVE_STATIC_DUMMY),1)
|
|
DEFINES += -DHAVE_STATIC_DUMMY
|
|
else
|
|
LIBS += -lretro_ps2
|
|
endif
|
|
|
|
ifeq ($(SCREEN_DEBUG), 1)
|
|
LIBS += -ldebug
|
|
RARCH_DEFINES += -DSCREEN_DEBUG
|
|
endif
|
|
|
|
ifeq ($(BUILD_FOR_PCSX2), 1)
|
|
RARCH_DEFINES += -DBUILD_FOR_PCSX2
|
|
endif
|
|
|
|
DEFINES += -DRARCH_INTERNAL -DRARCH_CONSOLE
|
|
|
|
ifeq ($(GRIFFIN_BUILD), 1)
|
|
OBJ += griffin/griffin.o
|
|
DEFINES += -DHAVE_GRIFFIN=1 -DHAVE_SCREENSHOTS -DHAVE_REWIND -DHAVE_MENU -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_CHEATS
|
|
DEFINES += -DHAVE_ZLIB -DHAVE_NO_BUILTINZLIB -DHAVE_RPNG -DHAVE_RJPEG -DHAVE_FILTERS_BUILTIN -DHAVE_7ZIP -D_7ZIP_ST -DHAVE_CC_RESAMPLER -DHAVE_AUDIOMIXER
|
|
DEFINES += -DHAVE_VIDEO_FILTER -DHAVE_RGUI -DHAVE_WINDOW_OFFSET
|
|
DEFINES += -DHAVE_DSP_FILTER
|
|
else
|
|
HAVE_CC_RESAMPLER = 1
|
|
HAVE_MENU_COMMON = 1
|
|
HAVE_RPNG = 1
|
|
HAVE_RJPEG = 1
|
|
HAVE_RBMP = 1
|
|
HAVE_MENU = 1
|
|
HAVE_CONFIGFILE = 1
|
|
HAVE_PATCH = 1
|
|
HAVE_CHEATS = 1
|
|
HAVE_RGUI = 1
|
|
HAVE_ZLIB = 1
|
|
HAVE_NO_BUILTINZLIB = 1
|
|
HAVE_7ZIP = 1
|
|
HAVE_SCREENSHOTS = 1
|
|
HAVE_REWIND = 1
|
|
HAVE_AUDIOMIXER = 1
|
|
HAVE_RWAV = 1
|
|
HAVE_DSP_FILTER = 1
|
|
HAVE_VIDEO_FILTER = 1
|
|
HAVE_FILTERS_BUILTIN = 1
|
|
HAVE_WINDOW_OFFSET = 1
|
|
|
|
include Makefile.common
|
|
CFLAGS += $(DEF_FLAGS)
|
|
BLACKLIST :=
|
|
OBJ := $(filter-out $(BLACKLIST),$(OBJ))
|
|
INCDIRS += $(INCLUDE_DIRS)
|
|
endif
|
|
|
|
ifeq ($(strip $(PS2SDK)),)
|
|
$(error "Please set PS2SDK in your environment. export PS2SDK=<path to>ps2sdk")
|
|
endif
|
|
|
|
INCDIR = -I$(PS2DEV)/gsKit/include -I$(PS2SDK)/ports/include
|
|
INCDIR += -Ips2/include -Ilibretro-common/include -Ideps -Ideps/stb -Ideps/7zip
|
|
|
|
LDFLAGS += -L$(PS2DEV)/gsKit/lib -L$(PS2SDK)/ports/lib -L.
|
|
# Lib cdvd is needed to get proper time
|
|
LIBS += -lpatches -lgskit -ldmakit -laudsrv -lmtap -lpadx -lz -lcdvd -lelf-loader -lfileXio -lpoweroff
|
|
|
|
|
|
CFLAGS = $(OPTIMIZE_LV) $(DISABLE_WARNINGS) $(DEFINES) -DPS2 -ffast-math -fsingle-precision-constant
|
|
ASFLAGS = $(CFLAGS)
|
|
|
|
# IRX libs
|
|
IRX_FILES += sio2man.irx iomanX.irx fileXio.irx
|
|
IRX_FILES += mcman.irx mcserv.irx
|
|
IRX_FILES += usbd.irx bdm.irx bdmfs_vfat.irx usbmass_bd.irx
|
|
IRX_FILES += libsd.irx audsrv.irx
|
|
IRX_FILES += cdfs.irx
|
|
IRX_FILES += ps2dev9.irx ps2atad.irx ps2hdd.irx ps2fs.irx poweroff.irx
|
|
IRX_FILES += mtapman.irx padman.irx
|
|
EE_OBJS += $(IRX_FILES:.irx=_irx.o)
|
|
|
|
# Missing objecst on the PS2SDK
|
|
EE_OBJS += ps2/compat_files/ps2_devices.o
|
|
|
|
EE_OBJS += $(OBJ)
|
|
|
|
EE_CFLAGS = $(CFLAGS)
|
|
EE_CXXFLAGS = $(CFLAGS)
|
|
EE_LDFLAGS = $(LDFLAGS)
|
|
EE_LIBS = $(LIBS)
|
|
EE_ASFLAGS = $(ASFLAGS)
|
|
EE_INCS = $(INCDIR)
|
|
EE_BIN = $(TARGET).elf
|
|
EE_GPVAL = $(GPVAL)
|
|
|
|
|
|
all: $(EE_BIN)
|
|
|
|
clean:
|
|
rm -f $(EE_BIN) $(EE_OBJS)
|
|
|
|
prepare:
|
|
ps2client -h $(PS2_IP) reset
|
|
ps2client -h $(PS2_IP) netdump
|
|
|
|
run:
|
|
ps2client -h $(PS2_IP) execee host:$(EE_BIN)
|
|
|
|
sim:
|
|
PCSX2 --elf=$(PWD)/$(EE_BIN) --nogui
|
|
|
|
debug: clean all run
|
|
|
|
release: all
|
|
ps2-packer $(EE_BIN) $(TARGET_RELEASE)
|
|
|
|
# IRX files
|
|
%_irx.c:
|
|
$(PS2SDK)/bin/bin2c $(PS2SDK)/iop/irx/$*.irx $@ $*_irx
|
|
|
|
#Include preferences
|
|
include $(PS2SDK)/samples/Makefile.pref
|
|
include $(PS2SDK)/samples/Makefile.eeglobal_cpp
|