Update Makefile.libretro
[pcsx_rearmed.git] / Makefile.libretro
index 0f6608d..0544aab 100644 (file)
@@ -22,9 +22,17 @@ CC_AS ?= $(CC)
 CFLAGS ?=
 
 TARGET_NAME := pcsx_rearmed
+GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)"
+ifneq ($(GIT_VERSION)," unknown")
+       CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\"
+endif
 LIBZ := -lz
 LIBPTHREAD := -lpthread
+ifneq ($(findstring Haiku,$(shell uname -s)),)
+LIBDL := -lroot -lnetwork
+else
 LIBDL := -ldl
+endif
 MMAP_WIN32=0
 EXTRA_LDFLAGS =
 
@@ -32,6 +40,9 @@ EXTRA_LDFLAGS =
 ifeq ($(platform), unix)
        TARGET := $(TARGET_NAME)_libretro.so
        fpic := -fPIC
+ifneq ($(findstring SunOS,$(shell uname -s)),)
+       CC = gcc
+endif
 
 else ifeq ($(platform), linux-portable)
        TARGET := $(TARGET_NAME)_libretro.so
@@ -49,11 +60,20 @@ else ifeq ($(platform), osx)
        fpic += -mmacosx-version-min=10.1
 
 # iOS
+else ifeq ($(platform),$(filter $(platform),ios-arm64))
+    ARCH := arm64
+    USE_DYNAREC = 0
+    HAVE_NEON = 0
+    BUILTIN_GPU = peops
+    TARGET := $(TARGET_NAME)_libretro_ios.dylib
+
 else ifneq (,$(findstring ios,$(platform)))
        ARCH := arm
        USE_DYNAREC ?= 1
+    HAVE_NEON = 1
+    BUILTIN_GPU = neon
        TARGET := $(TARGET_NAME)_libretro_ios.dylib
-ifeq ($(USE_DYNAREC),0)
+ifeq ($(USE_DYNAREC),1)
        # Override
        TARGET := $(TARGET_NAME)_interpreter_libretro_ios.dylib
 endif
@@ -68,8 +88,6 @@ endif
        CC_AS = perl ./tools/gas-preprocessor.pl $(CC)
        CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -marm
        ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
-       HAVE_NEON = 1
-       BUILTIN_GPU = neon
        CFLAGS += -DIOS
 ifeq ($(platform),ios9)
        CC     += -miphoneos-version-min=8.0
@@ -118,6 +136,9 @@ else ifeq ($(platform), vita)
        AR = arm-vita-eabi-ar$(EXE_EXT)
        CFLAGS += -DVITA
        CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -marm
+       CFLAGS += -fsingle-precision-constant -mword-relocations -fno-unwind-tables
+       CFLAGS += -fno-asynchronous-unwind-tables -ftree-vectorize -funroll-loops
+       CFLAGS +=  -fno-optimize-sibling-calls
        CFLAGS += -I$(VITASDK)/include -Ifrontend/vita
        CFLAGS += -DNO_SOCKET -DNO_OS -DNO_DYLIB
        ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
@@ -141,15 +162,16 @@ else ifeq ($(platform), ctr)
        CFLAGS += -DARM11 -D_3DS -DNO_OS -DNO_DYLIB -DNO_SOCKET
        CFLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard -marm -mfpu=vfp -mtp=soft
        CFLAGS += -Wall -mword-relocations
-       CFLAGS += -fomit-frame-pointer -ffast-math      
+       CFLAGS += -fomit-frame-pointer -ffast-math
        CFLAGS += -Ifrontend/3ds
        CFLAGS += -Werror=implicit-function-declaration
 
 #      CFLAGS += -DPCSX
 #      BUILTIN_GPU = unai
        USE_DYNAREC = 1
-       DRC_CACHE_BASE = 1
+       DRC_CACHE_BASE = 0
        ARCH = arm
+       HAVE_NEON = 0
 
        STATIC_LINKING = 1
 
@@ -201,7 +223,7 @@ else ifeq ($(platform), rpi2)
        ARCH = arm
        BUILTIN_GPU = neon
        USE_DYNAREC = 1
-       
+
 #Raspberry Pi 3
 else ifeq ($(platform), rpi3)
        TARGET := $(TARGET_NAME)_libretro.so
@@ -221,6 +243,10 @@ else ifneq (,$(findstring armv,$(platform)))
        ifneq (,$(findstring cortexa8,$(platform)))
                CFLAGS += -marm -mcpu=cortex-a8
                ASFLAGS += -mcpu=cortex-a8
+       else ifneq (,$(findstring cortexa7,$(platform)))
+               CFLAGS += -marm -mcpu=cortex-a7
+               ASFLAGS += -mcpu=cortex-a7
+               LIBZ :=
        else ifneq (,$(findstring cortexa9,$(platform)))
                CFLAGS += -marm -mcpu=cortex-a9
                ASFLAGS += -mcpu=cortex-a9
@@ -245,8 +271,10 @@ else ifneq (,$(findstring armv,$(platform)))
 # Windows
 else
        TARGET := $(TARGET_NAME)_libretro.dll
+   BUILTIN_GPU = peops
+   PLATFORM = libretro
        MAIN_LDFLAGS += -static-libgcc -static-libstdc++ -s
-       CFLAGS += -D__WIN32__
+       CFLAGS += -D__WIN32__ -DNO_DYLIB
        MMAP_WIN32=1
        MAIN_LDLIBS += -lws2_32
        LIBPTHREAD :=