RARCH_VERSION = "0.9.9.3" #which compiler to build with - GCC or SNC #set to GCC for debug builds for use with debugger CELL_BUILD_TOOLS = SNC CELL_GPU_TYPE = RSX CELL_PSGL_VERSION = ultra-opt # options DOWNLOAD_SHADERS = 1 STRIPPING_ENABLE = 0 DEBUG = 0 HAVE_GCMGL = 1 HAVE_LOGGER = 0 HAVE_FREETYPE = 0 WHOLE_ARCHIVE_LINK = 0 CONTENT_ID_FULL = UP0001-SSNE10000_00-0000000000000001 CONTENT_ID = SSNE10000 PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.7" PC_DEVELOPMENT_UDP_PORT = 3490 CELL_MK_DIR ?= $(CELL_SDK)/samples/mk include $(CELL_MK_DIR)/sdk.makedef.mk PPU_TARGET = retroarch_ps3.elf SALAMANDER_TARGET = retroarch-salamander_ps3.elf EBOOT_PATH = pkg/ps3/USRDIR/EBOOT.BIN CORE_PATH = pkg/ps3/USRDIR/cores/CORE.SELF LDDIRS = -L. -L$(CELL_SDK)/target/ppu/lib/PSGL/RSX/ultra-opt INCDIRS = -I. -Idefines # system platform system_platform = unix ifeq ($(shell uname -a),) EXE_EXT = .exe system_platform = win else ifneq ($(findstring Darwin,$(shell uname -a)),) system_platform = osx else ifneq ($(findstring MINGW,$(shell uname -a)),) system_platform = win endif PKG_SCRIPT = tools/ps3/ps3py/pkg.py ifeq ($(shell uname), Linux) PKG_FINALIZE = package_finalize MAKE_SELF_WC = make_self_wc MAKE_SELF = make_self_npdrm PYTHON2 = python2 GIT = git else PKG_FINALIZE = package_finalize.exe MAKE_SELF_WC = make_self_wc.exe MAKE_SELF = make_self_npdrm.exe PYTHON2 = python2.exe GIT = git.exe endif PPU_SRCS = griffin/griffin.c DEFINES += -DHAVE_RGUI -DHAVE_MATERIALUI -DHAVE_XMB -DHAVE_MENU -DRARCH_INTERNAL ifeq ($(HAVE_GCMGL), 1) DEFINES += -DHAVE_GCMGL GL_LIBS := -L. -lrgl_ps3 else GL_LIBS := -L$(CELL_SDK)/target/ppu/lib/PSGL/RSX/ultra-opt -lPSGL -lPSGLcgc endif ifeq ($(HAVE_FREETYPE), 1) DEFINES += -DHAVE_FREETYPE FONT_LIBS := -lfontFT_stub -lfreetype_stub else DEFINES += -DHAVE_LIBDBGFONT FONT_LIBS := -ldbgfont endif ifeq ($(CELL_BUILD_TOOLS), SNC) PPU_CXXLD = $(CELL_SDK)/host-win32/sn/bin/ps3ppuld.exe PPU_CXX = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe PPU_CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe else ifneq($(system_platform), win) PPU_CXX = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-g++.exe PPU_CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe PPU_CXXLD = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ld.exe PPU_CCLD = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ld.exe endif ifeq ($(WHOLE_ARCHIVE_LINK), 1) WHOLE_START := -Wl, --whole-archive WHOLE_END := -Wl, --no-whole-archive endif PPU_LDLIBS = $(FONT_LIBS) $(GL_LIBS) $(WHOLE_START) -lretro_ps3 $(WHOLE_END) -lcgc -lgcm_cmdasm -lgcm_sys_stub -lresc_stub -lm -lio_stub -lfs_stub -lsysutil_stub -lsysutil_game_stub -lsysutil_screenshot_stub -lsysutil_np_stub -lpngdec_stub -ljpgdec_stub -lsysmodule_stub -laudio_stub -lnet_stub -lnetctl_stub -lpthread PPU_RANLIB = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ranlib.exe DEFINES += -DHAVE_THREADS -DRARCH_CONSOLE -DHAVE_OPENGL -DHAVE_OVERLAY -DHAVE_HEADSET -DHAVE_OPENGLES -DHAVE_OPENGLES1 -DHAVE_PSGL -DHAVE_CG -DHAVE_CG_RUNTIME_COMPILER -DHAVE_FBO -DHAVE_SYSMODULES -DHAVE_SYSUTILS -DHAVE_RARCH_EXEC -DHAVE_RSOUND -DHAVE_ZLIB -DHAVE_RPNG -DWANT_ZLIB -DSINC_LOWER_QUALITY -D__CELLOS_LV2__ -DHAVE_NETWORKING=1 -DHAVE_SOCKET_LEGACY=1 -DHAVE_MOUSE -DHAVE_GRIFFIN=1 -DHAVE_MULTIMAN=0 -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT) -DHAVE_STB_VORBIS ifeq ($(DEBUG), 1) PPU_OPTIMIZE_LV := -O0 -g else PPU_OPTIMIZE_LV := -O3 -g endif ifeq ($(HAVE_LOGGER), 1) DEFINES += -DHAVE_LOGGER endif PPU_CFLAGS := $(PPU_OPTIMIZE_LV) $(INCDIRS) $(DEFINES) PPU_CXXFLAGS := $(PPU_OPTIMIZE_LV) $(INCDIRS) $(DEFINES) EXIST_EBOOT_WILDCARD := $(wildcard $(EBOOT_PATH)) EXIST_CORE_WILDCARD := $(wildcard $(CORE_PATH)) EBOOT_EXISTS = 1 CORE_EXISTS = 1 ifneq ($(strip $(EXIST_EBOOT_WILDCARD)),) EBOOT_EXISTS = 0 endif ifneq ($(strip $(EXIST_CORE_WILDCARD)),) CORE_EXISTS = 0 endif include $(CELL_MK_DIR)/sdk.target.mk MAKE_FSELF = $(CELL_SDK)/host-win32/bin/make_fself.exe MAKE_FSELF_NPDRM = $(CELL_SDK)/host-win32/bin/make_fself_npdrm.exe MAKE_PACKAGE_NPDRM = $(CELL_SDK)/host-win32/bin/make_package_npdrm.exe .PHONY: create-npdrm-core create-core create-npdrm-salamander create-shaders clean-selfs create-salamander create-npdrm-core: $(MAKE_FSELF_NPDRM) $(PPU_TARGET) $(CORE_PATH) create-core: $(MAKE_SELF_WC) $(PPU_TARGET) $(CORE_PATH) create-npdrm-salamander: $(MAKE_FSELF_NPDRM) $(SALAMANDER_TARGET) $(EBOOT_PATH) create-salamander: $(MAKE_SELF) $(SALAMANDER_TARGET) $(EBOOT_PATH) $(CONTENT_ID_FULL) copy-media-files: @cp -r $(ASSETS_DIR)/glui pkg/ps3/USRDIR/cores/assets @cp -r $(ASSETS_DIR)/xmb pkg/ps3/USRDIR/cores/assets create-shaders: make -f Makefile.shaders deploy-ps3 pkg: $(PPU_TARGET) create-shaders copy-media-files create-npdrm-salamander create-npdrm-core $(MAKE_PACKAGE_NPDRM) pkg/ps3/package.conf pkg/ps3 pkg-signed: $(PPU_TARGET) create-shaders copy-media-files create-salamander create-core $(PYTHON2) $(PKG_SCRIPT) --contentid $(CONTENT_ID_FULL) pkg/ps3 retroarch-ps3-cfw-$(RARCH_VERSION).pkg pkg-signed-standalone: $(PPU_TARGET) create-shaders copy-media-files create-core $(MAKE_SELF) $(PPU_TARGET) $(EBOOT_PATH) $(CONTENT_ID) $(PYTHON2) $(PKG_SCRIPT) --contentid $(CONTENT_ID_FULL) pkg/ps3 retroarch-ps3-cfw-$(RARCH_VERSION).pkg pkg-signed-cfw: $(PPU_TARGET) create-shaders copy-media-files create-salamander create-core $(PYTHON2) $(PKG_SCRIPT) --contentid $(CONTENT_ID_FULL) pkg/ps3 retroarch-ps3-cfw-$(RARCH_VERSION)-kmeaw.pkg $(PKG_FINALIZE) retroarch-ps3-cfw-$(RARCH_VERSION)-kmeaw.pkg pkg-signed-cfw-standalone: $(PPU_TARGET) create-shaders copy-media-files create-core $(MAKE_SELF) $(PPU_TARGET) $(EBOOT_PATH) $(CONTENT_ID) $(PYTHON2) $(PKG_SCRIPT) --contentid $(CONTENT_ID_FULL) pkg/ps3 retroarch-ps3-cfw-$(RARCH_VERSION).pkg $(PKG_FINALIZE) retroarch-ps3-cfw-$(RARCH_VERSION)-kmeaw.pkg clean-selfs: ifeq ($(EBOOT_EXISTS),1) @echo "WARNING: Couldn't find file to delete: [$(EBOOT_PATH)], skipping this step." else rm $(EBOOT_PATH) endif ifeq ($(CORE_EXISTS),1) @echo "WARNING: Couldn't find file to delete: [$(CORE_PATH)], skipping this step." else rm $(CORE_PATH) endif