1#------------------------------------------------------------------------------- 2# Clear the implicit built in rules 3#------------------------------------------------------------------------------- 4.SUFFIXES: 5#------------------------------------------------------------------------------- 6ifeq ($(strip $(PSL1GHT)),) 7$(error "Please set PSL1GHT in your environment. export PSL1GHT=<path>") 8endif 9 10include $(PSL1GHT)/ppu_rules 11 12include version.all 13 14DEBUG = 0 15HAVE_LOGGER = 0 16HAVE_FILE_LOGGER = 1 17 18PC_DEVELOPMENT_IP_ADDRESS = "192.168.1.7" 19PC_DEVELOPMENT_UDP_PORT = 3490 20 21CONTENTID = UP0001-SSNE10001_00-0000000000000001 22APPID = SSNE10001 23TITLE = Retroarch PSL1GHT 24PACKAGE_BASENAME := retroarch_psl1ght 25 26ELF_TARGET := retroarch_psl1ght_salamander.elf 27ELF_TARGET_NONSTRIPPED := retroarch_psl1ght_salamander_nonstripped.elf 28EBOOT_PATH = pkg/psl1ght/pkg/USRDIR/EBOOT.BIN 29 30INCLUDE += -I. -Ips3/gcmgl/include/export -Ips3/include -Ideps -Ideps/stb -Ilibretro-common/include/compat/zlib \ 31 -Ilibretro-common/include $(LIBPSL1GHT_INC) -Iinclude -Idefines 32LIBDIRS += -L. 33 34MACHDEP := -D__PS3__ -D__PSL1GHT__ -mcpu=cell -mhard-float -fmodulo-sched -ffunction-sections -fdata-sections 35CFLAGS += -Wall $(MACHDEP) $(INCLUDE) 36LDFLAGS := $(MACHDEP) 37LIBS := -lgcm_sys -lrsx -lsysutil -lio -lnet -lsysmodule -lrt -llv2 -lm -lsysfs 38 39# system platform 40system_platform = unix 41ifeq ($(shell uname -a),) 42EXE_EXT = .exe 43 system_platform = win 44else ifneq ($(findstring Darwin,$(shell uname -a)),) 45 system_platform = osx 46else ifneq ($(findstring MINGW,$(shell uname -a)),) 47 system_platform = win 48endif 49 50PKG_SCRIPT = tools/ps3/ps3py/pkg.py 51ifeq ($(shell uname), Linux) 52GIT = git 53else 54GIT = git.exe 55endif 56 57OBJ = frontend/frontend_salamander.o \ 58 frontend/frontend_driver.o \ 59 frontend/drivers/platform_ps3.o \ 60 libretro-common/file/file_path.o \ 61 libretro-common/file/file_path_io.o \ 62 libretro-common/lists/dir_list.o \ 63 libretro-common/lists/string_list.o \ 64 libretro-common/file/retro_dirent.o \ 65 libretro-common/hash/lrc_hash.o \ 66 libretro-common/string/stdstring.o \ 67 libretro-common/encodings/encoding_utf.o \ 68 libretro-common/compat/compat_strl.o \ 69 libretro-common/compat/compat_strcasestr.o \ 70 libretro-common/compat/fopen_utf8.o \ 71 libretro-common/streams/file_stream.o \ 72 libretro-common/vfs/vfs_implementation.o \ 73 libretro-common/file/config_file.o \ 74 libretro-common/time/rtime.o \ 75 verbosity.o 76 77ifeq ($(HAVE_LOGGER), 1) 78CFLAGS += -DHAVE_LOGGER 79endif 80 81ifeq ($(HAVE_FILE_LOGGER), 1) 82CFLAGS += -DHAVE_FILE_LOGGER 83endif 84 85SHARED_FLAGS := 86 87SHARED_FLAGS += -DHAVE_VIDEO_LAYOUT 88SHARED_FLAGS += -DHAVE_MENU -DHAVE_CONFIGFILE -DRARCH_CONSOLE -DHAVE_OVERLAY -DHAVE_HEADSET -DHAVE_CG -DHAVE_CG_RUNTIME_COMPILER -DHAVE_GCMGL -DHAVE_SYSMODULES -DHAVE_SYSUTILS -DHAVE_RARCH_EXEC -DHAVE_MOUSE -DHAVE_ZLIB -DHAVE_RPNG -DHAVE_GRIFFIN=1 -DHAVE_NETWORKING=1 -DHAVE_SOCKET_LEGACY=1 -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT) -Wno-char-subscripts -DHAVE_CC_RESAMPLER -DHAVE_MULTIMAN -DHAVE_RGUI -DIS_SALAMANDER 89CFLAGS += -std=gnu99 $(SHARED_FLAGS) 90CXXFLAGS += $(SHARED_FLAGS) 91 92ifeq ($(DEBUG), 1) 93 CFLAGS += -O0 -g 94else 95 CFLAGS += -O3 -g 96 CXXFLAGS += -03 -g 97endif 98 99all: create-salamander 100 101$(ELF_TARGET_NONSTRIPPED): $(OBJ) 102 $(CXX) -o $@ $(LDFLAGS) $(LIBDIRS) $(OBJ) $(LIBS) 103 104$(ELF_TARGET): $(ELF_TARGET_NONSTRIPPED) 105 $(STRIP) $< -o $@ 106 $(SPRX) $@ 107 108create-salamander: $(ELF_TARGET) 109 $(SELF_NPDRM) $(ELF_TARGET) $(EBOOT_PATH) $(CONTENTID) 110 111pkg: create-salamander 112 $(PKG) --contentid $(CONTENTID) pkg/psl1ght/pkg/ $(PACKAGE_BASENAME).pkg 113# cp $(PACKAGE_BASENAME).pkg $(PACKAGE_BASENAME).gnpdrm.pkg 114# $(PACKAGE_FINALIZE) $(PACKAGE_BASENAME).gnpdrm.pkg 115 116clean: 117 rm -f $(ELF_TARGET) 118 rm -f $(OBJ) 119 120.PHONY: clean 121