X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile.libretro;h=33e8708484cda52fa83c2e345b9aa7d29e472353;hb=cd4f7c6e48477dc715f15838a8ac3b61f41f2167;hp=bd74dec5d1919a59a6294e8696ea4fb0358c5605;hpb=022a8aadb40248408cefb1c8a513d23a593d6630;p=pcsx_rearmed.git diff --git a/Makefile.libretro b/Makefile.libretro index bd74dec5..33e87084 100644 --- a/Makefile.libretro +++ b/Makefile.libretro @@ -3,6 +3,7 @@ DEBUG ?= 0 WANT_ZLIB ?= 1 HAVE_CHD ?= 1 +USE_LIBRETRO_VFS ?= 0 # Dynarec options: lightrec, ari64 DYNAREC ?= lightrec @@ -27,6 +28,7 @@ CC_AS ?= $(CC) CFLAGS ?= TARGET_NAME := pcsx_rearmed +ARCH_DETECTED := $(shell $(CC) -dumpmachine | awk -F- '{print $$1}') GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)" ifneq ($(GIT_VERSION)," unknown") CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\" @@ -49,12 +51,17 @@ ifeq ($(platform), unix) TARGET := $(TARGET_NAME)_libretro.so fpic := -fPIC THREAD_RENDERING = 1 +ifeq ($(shell uname),Linux) + LIGHTREC_CUSTOM_MAP := 1 +endif ifneq ($(findstring SunOS,$(shell uname -s)),) CC = gcc endif -ifeq ($(ARCH), arm) +ifneq (,$(findstring $(ARCH_DETECTED),arm aarch64)) + DYNAREC = ari64 + ifneq ($(findstring __thumb__,$(shell $(CC) -E -dD $(CFLAGS) include/arm_features.h)),) - # must disable thumb as recompiler can't handle it + # must disable thumb as ari64 can't handle it CFLAGS += -marm endif endif @@ -65,6 +72,7 @@ else ifneq (,$(findstring CortexA73_G12B,$(platform))) fpic := -fPIC SHARED := -shared -Wl,-version-script=link.T ARCH = arm64 + DYNAREC = ari64 CFLAGS += -fomit-frame-pointer -ffast-math -DARM CPUFLAGS += -march=armv8-a+crc -mfpu=neon-fp-armv8 -mcpu=cortex-a73 -mtune=cortex-a73.cortex-a53 @@ -74,7 +82,7 @@ else ifneq (,$(findstring h5,$(platform))) fpic := -fPIC SHARED := -shared -Wl,-version-script=link.T ARCH = arm64 - DYNAREC ?= lightrec + DYNAREC = ari64 CFLAGS += -fomit-frame-pointer -ffast-math -DARM CPUFLAGS += -march=armv8-a+crc -mfpu=neon-fp-armv8 -mcpu=cortex-a53 -mtune=cortex-a53 @@ -87,6 +95,7 @@ else ifeq ($(platform), linux-portable) LIBDL := LIBM := NO_UNDEF_CHECK = 1 + LIGHTREC_CUSTOM_MAP := 1 # OS X else ifeq ($(platform), osx) @@ -197,6 +206,7 @@ else ifeq ($(platform), libnx) else ifeq ($(platform), arm64) TARGET := $(TARGET_NAME)_libretro.so ARCH := arm64 + DYNAREC = ari64 BUILTIN_GPU = unai fpic := -fPIC CFLAGS := $(filter-out -O2, $(CFLAGS)) @@ -235,8 +245,6 @@ else ifeq ($(platform), vita) BUILTIN_GPU = neon DYNAREC = ari64 - DRC_CACHE_BASE = 0 - ARCH = arm STATIC_LINKING = 1 @@ -260,7 +268,6 @@ else ifeq ($(platform), ctr) BUILTIN_GPU = unai THREAD_RENDERING = 1 DYNAREC = ari64 - DRC_CACHE_BASE = 0 ARCH = arm HAVE_NEON = 0 STATIC_LINKING = 1 @@ -294,7 +301,6 @@ else ifeq ($(platform), qnx) CC_AS = $(CC) HAVE_NEON = 1 DYNAREC = ari64 - DRC_CACHE_BASE = 0 BUILTIN_GPU = neon ARCH = arm CFLAGS += -D__BLACKBERRY_QNX__ -marm -mcpu=cortex-a9 -mtune=cortex-a9 -mfpu=neon -mfloat-abi=softfp @@ -304,6 +310,17 @@ else ifeq ($(platform), qnx) LIBDL := LIBM := +#Raspberry Pi 1 +else ifeq ($(platform), rpi1) + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC + CFLAGS += -marm -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard + ASFLAGS += -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard + HAVE_NEON = 0 + ARCH = arm + BUILTIN_GPU = unai + DYNAREC = ari64 + #Raspberry Pi 2 else ifeq ($(platform), rpi2) TARGET := $(TARGET_NAME)_libretro.so @@ -326,6 +343,15 @@ else ifeq ($(platform), rpi3) BUILTIN_GPU = neon DYNAREC = ari64 +#Raspberry Pi 3 with a 64bit GNU/Linux OS +else ifeq ($(platform), rpi3_64) + TARGET := $(TARGET_NAME)_libretro.so + ARCH := arm64 + BUILTIN_GPU = unai + DYNAREC = ari64 + fpic := -fPIC + CFLAGS += -march=armv8-a+crc+simd -mtune=cortex-a53 -ftree-vectorize + #Raspberry Pi 4 with a 32bit GNU/Linux OS else ifeq ($(platform), rpi4) TARGET := $(TARGET_NAME)_libretro.so @@ -342,7 +368,7 @@ else ifeq ($(platform), rpi4_64) TARGET := $(TARGET_NAME)_libretro.so ARCH := arm64 BUILTIN_GPU = unai - DYNAREC = lightrec + DYNAREC = ari64 fpic := -fPIC CFLAGS += -march=armv8-a+crc+simd -mtune=cortex-a72 -ftree-vectorize @@ -401,7 +427,6 @@ else ifneq (,$(findstring armv,$(platform))) TARGET := $(TARGET_NAME)_libretro.so fpic := -fPIC HAVE_NEON = 0 - DRC_CACHE_BASE = 0 BUILTIN_GPU = peops ifneq (,$(findstring cortexa8,$(platform))) CFLAGS += -marm -mcpu=cortex-a8 @@ -431,6 +456,18 @@ else ifneq (,$(findstring armv,$(platform))) ARCH = arm DYNAREC = ari64 +else ifeq ($(platform), miyoo) + TARGET := $(TARGET_NAME)_libretro.so + CC = /opt/miyoo/usr/bin/arm-linux-gcc + CXX = /opt/miyoo/usr/bin/arm-linux-g++ + fpic := -fPIC + CFLAGS += -mcpu=arm926ej-s -fsingle-precision-constant + CFLAGS += -DGPULIB_USE_MMAP -DGPU_UNAI_USE_INT_DIV_MULTINV -D_MIYOO + ARCH = arm + BUILTIN_GPU = unai + DYNAREC = ari64 + HAVE_NEON = 0 + # Emscripten else ifeq ($(platform), emscripten) TARGET := $(TARGET_NAME)_libretro_$(platform).bc @@ -451,6 +488,7 @@ else LIBPTHREAD := LIBDL := LIBM := + USE_LIBRETRO_VFS = 1 endif CFLAGS += $(fpic) @@ -464,7 +502,7 @@ endif # try to autodetect stuff for the lazy ifndef ARCH -ARCH = $(shell $(CC) -dumpmachine | awk -F- '{print $$1}') +ARCH = $(ARCH_DETECTED) endif ifndef HAVE_NEON HAVE_NEON = $(shell $(CC) -E -dD - < /dev/null 2> /dev/null | grep -q __ARM_NEON__ && echo 1 || echo 0) @@ -472,6 +510,9 @@ endif ifeq ($(NO_UNDEF_CHECK)$(shell ld -v 2> /dev/null | awk '{print $$1}'),GNU) MAIN_LDFLAGS += -Wl,--no-undefined endif +ifdef ALLOW_LIGHTREC_ON_ARM +CFLAGS += -DALLOW_LIGHTREC_ON_ARM +endif TARGET ?= libretro.so PLATFORM = libretro