Merge pull request #335 from yoshisuga/ios-arm64-buildbot-fix
[pcsx_rearmed.git] / Makefile.libretro
index 5a59aea..514b7ef 100644 (file)
@@ -2,6 +2,7 @@
 
 DEBUG ?= 0
 WANT_ZLIB ?= 1
+HAVE_CHD ?= 1
 
 ifeq ($(platform),)
        platform = unix
@@ -47,6 +48,12 @@ ifeq ($(platform), unix)
 ifneq ($(findstring SunOS,$(shell uname -s)),)
        CC = gcc
 endif
+ifeq ($(ARCH), arm)
+ifneq ($(findstring __thumb__,$(shell $(CC) -E -dD $(CFLAGS) include/arm_features.h)),)
+       # must disable thumb as recompiler can't handle it
+       CFLAGS += -marm
+endif
+endif
 
 else ifeq ($(platform), linux-portable)
        TARGET := $(TARGET_NAME)_libretro.so
@@ -75,7 +82,11 @@ else ifeq ($(platform),$(filter $(platform),ios-arm64))
        USE_DYNAREC = 0
        HAVE_NEON = 0
        BUILTIN_GPU = peops
-       TARGET := $(TARGET_NAME)_libretro_ios.dylib
+       TARGET := $(TARGET_NAME)_interpreter_libretro_ios.dylib
+
+       CC = clang -arch arm64 -isysroot $(IOSSDK) -miphoneos-version-min=8.0
+       CXX = clang++ -arch arm64 -isysroot $(IOSSDK) -miphoneos-version-min=8.0
+       CFLAGS += -marm -DIOS
 
 else ifneq (,$(findstring ios,$(platform)))
        ARCH := arm
@@ -182,7 +193,7 @@ else ifeq ($(platform), ctr)
        DRC_CACHE_BASE = 0
        ARCH = arm
        HAVE_NEON = 0
-
+       HAVE_CHD = 0
        STATIC_LINKING = 1
 
 # Xbox 360
@@ -246,6 +257,17 @@ else ifeq ($(platform), rpi3)
        BUILTIN_GPU = neon
        USE_DYNAREC = 1
 
+#Raspberry Pi 4
+else ifeq ($(platform), rpi4)
+       TARGET := $(TARGET_NAME)_libretro.so
+       fpic := -fPIC
+       CFLAGS += -marm -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard
+       ASFLAGS += -mcpu=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard
+       HAVE_NEON = 1
+       ARCH = arm
+       BUILTIN_GPU = neon
+       USE_DYNAREC = 1
+
 # Classic Platforms ####################
 # Platform affix = classic_<ISA>_<µARCH>
 # Help at https://modmyclassic.com/comp
@@ -279,6 +301,21 @@ else ifeq ($(platform), classic_armv7_a7)
                        LDFLAGS += -static-libgcc -static-libstdc++
                endif
        endif
+
+# (armv8 a35, hard point, neon based) ###
+# PlayStation Classic
+else ifeq ($(platform), classic_armv8_a35)
+       TARGET := $(TARGET_NAME)_libretro.so
+       fpic := -fPIC
+       CFLAGS += -Ofast \
+       -fmerge-all-constants -fno-math-errno -march=armv8-a \
+       -marm -mcpu=cortex-a35 -mtune=cortex-a35 -mfpu=neon-fp-armv8 -mfloat-abi=hard
+       HAVE_NEON = 1
+       ARCH = arm
+       BUILTIN_GPU = neon
+       USE_DYNAREC = 1
+       LDFLAGS += -static-libgcc -static-libstdc++ -fPIC
+
 #######################################
 
 # ARM