X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=Makefile.libretro;h=d8288f50ec7fe40178104a887c35a85d6879cd19;hp=6cac460ed92f6bfcc0b02e0dfdc2e58eb577e1ac;hb=a48745850385e49bf1ca9f8c4e98d925032a8a06;hpb=706252fcdbe50e0be5779703d1e92fc849f9e93f diff --git a/Makefile.libretro b/Makefile.libretro index 6cac460e..d8288f50 100644 --- a/Makefile.libretro +++ b/Makefile.libretro @@ -11,22 +11,113 @@ CXXFLAGS += $(CFLAGS) all: target_ plugins_ -CC = gcc -CXX = g++ -AS = as -CFLAGS += -fPIC -Wno-unused-result +ifeq ($(platform),) +platform = unix +ifeq ($(shell uname -a),) + platform = win +else ifneq ($(findstring MINGW,$(shell uname -a)),) + platform = win +else ifneq ($(findstring Darwin,$(shell uname -a)),) + platform = osx +else ifneq ($(findstring win,$(shell uname -a)),) + platform = win +endif +endif + +CC ?= gcc +CXX ?= g++ +AS ?= as + +ifeq ($(platform), unix) + TARGET := snes9x_next_libretro.so + fpic := -fPIC + SHARED := -shared -Wl,--version-script=libretro/link.T +else ifeq ($(platform), osx) + TARGET := snes9x_next_libretro.dylib + fpic := -fPIC + SHARED := -dynamiclib +else ifeq ($(platform), ios) +ARCH := arm + TARGET := snes9x_next_libretro.dylib + fpic := -fPIC + SHARED := -dynamiclib + +CC = clang -arch armv7 -isysroot $(IOSSDK) +CXX = clang++ -arch armv7 -isysroot $(IOSSDK) +CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon +ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon + HAVE_NEON = 1 + CFLAGS += -DIOS +else ifeq ($(platform), ps3) + TARGET := snes9x_next_libretro_ps3.a + CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe + AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe + CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__ +else ifeq ($(platform), sncps3) + TARGET := snes9x_next_libretro_ps3.a + CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe + AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe + CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__ +else ifeq ($(platform), psl1ght) + TARGET := snes9x_next_libretro_psl1ght.a + CC = $(PS3DEV)/ppu/bin/ppu-gcc$(EXE_EXT) + AR = $(PS3DEV)/ppu/bin/ppu-ar$(EXE_EXT) + CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__ +else ifeq ($(platform), psp1) + TARGET := snes9x_next_libretro_psp1.a + CC = psp-gcc$(EXE_EXT) + AR = psp-ar$(EXE_EXT) + CFLAGS += -DPSP -G0 +else ifeq ($(platform), xenon) + TARGET := snes9x_next_libretro_xenon360.a + CC = xenon-gcc$(EXE_EXT) + AR = xenon-ar$(EXE_EXT) + CFLAGS += -D__LIBXENON__ -m32 -D__ppc__ +else ifeq ($(platform), ngc) + TARGET := snes9x_next_libretro_ngc.a + CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) + AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT) + CFLAGS += -DGEKKO -DHW_DOL -mrvl -mcpu=750 -meabi -mhard-float -DBLARGG_BIG_ENDIAN=1 -D__ppc__ +else ifeq ($(platform), wii) + TARGET := snes9x_next_libretro_wii.a + CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) + AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT) + CFLAGS += -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float -DBLARGG_BIG_ENDIAN=1 -D__ppc__ +else ifeq ($(platform), qnx) + TARGET := libretro_pcsx_rearmed_qnx.so + HAVE_NEON = 1 + USE_DYNAREC = 1 + DRC_CACHE_BASE = 0 + BUILTIN_GPU = neon + ARCH = arm + CFLAGS += -DBASE_ADDR_FIXED=0 -D__BLACKBERRY_QNX__ -marm -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp + ASFLAGS += -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp +else + TARGET := snes9x_next_retro.dll + CC = gcc + fpic := -fPIC + LD_FLAGS := -fPIC + SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=libretro/link.T + CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__ +endif + +CFLAGS += -fPIC ASFLAGS += LDFLAGS += -LDLIBS += -lpthread -MAIN_LDFLAGS += -shared -Wl,--no-undefined -MAIN_LDLIBS += -ldl -lm -lz + +ifneq ($(platform),qnx) + LDLIBS += -lpthread + MAIN_LDLIBS += -ldl +endif +MAIN_LDFLAGS += -shared +MAIN_LDLIBS += -lm -lz PLUGIN_CFLAGS += -fPIC -TARGET = libretro.so +TARGET ?= libretro.so PLATFORM = libretro -BUILTIN_GPU = peops +BUILTIN_GPU ?= peops SOUND_DRIVERS = libretro -PLUGINS = plugins/dfxvideo/gpu_peops.so plugins/gpu_unai/gpu_unai.so +#PLUGINS = plugins/dfxvideo/gpu_peops.so plugins/gpu_unai/gpu_unai.so CC_LINK = $(CC) LDFLAGS += $(MAIN_LDFLAGS) @@ -138,6 +229,9 @@ frontend/revision.h: FORCE %.o: %.S $(CC) $(CFLAGS) -c $^ -o $@ + +%.o: %.s + $(CC) $(ASFLAGS) -c $^ -o $@ target_: $(TARGET)