ifeq ($(platform), unix)
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
+ THREAD_RENDERING = 1
ifneq ($(findstring SunOS,$(shell uname -s)),)
CC = gcc
endif
else ifneq (,$(findstring ios,$(platform)))
ARCH := arm
- DYNAREC ?= ari64
+# DYNAREC ?= ari64
HAVE_NEON = 1
BUILTIN_GPU = neon
TARGET := $(TARGET_NAME)_libretro_ios.dylib
ifeq ($(DYNAREC),lightrec)
# Override
- DYNAREC = 0
+ DYNAREC := 0
+endif
+ifeq ($(DYNAREC),0)
TARGET := $(TARGET_NAME)_interpreter_libretro_ios.dylib
endif
fpic := -fPIC
CC = $(DEVKITARM)/bin/arm-none-eabi-gcc$(EXE_EXT)
CXX = $(DEVKITARM)/bin/arm-none-eabi-g++$(EXE_EXT)
AR = $(DEVKITARM)/bin/arm-none-eabi-ar$(EXE_EXT)
- CFLAGS += -DARM11 -D_3DS -DNO_OS -DNO_DYLIB -DNO_SOCKET -DGPU_UNAI_USE_FLOATMATH -DGPU_UNAI_USE_FLOAT_DIV_MULTINV
+ CFLAGS += -DARM11 -D_3DS -DNO_OS -DNO_DYLIB -DNO_SOCKET -DTHREAD_ENABLED -DGPU_UNAI_USE_FLOATMATH -DGPU_UNAI_USE_FLOAT_DIV_MULTINV
CFLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard -marm -mfpu=vfp -mtp=soft
CFLAGS += -Wall -mword-relocations
CFLAGS += -fomit-frame-pointer -ffast-math -funroll-loops
- CFLAGS += -Ifrontend/3ds
+ CFLAGS += -Ifrontend/3ds -I$(CTRULIB)/include
CFLAGS += -Werror=implicit-function-declaration
OBJS += frontend/3ds/utils.o
# CFLAGS += -DPCSX
BUILTIN_GPU = unai
+ THREAD_RENDERING = 1
DYNAREC = ari64
DRC_CACHE_BASE = 0
ARCH = arm
BUILTIN_GPU = neon
DYNAREC = ari64
-#Raspberry Pi 4
+#Raspberry Pi 4 with a 32bit GNU/Linux OS
else ifeq ($(platform), rpi4)
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
BUILTIN_GPU = neon
DYNAREC = ari64
+#Raspberry Pi 4 with a 64bit GNU/Linux OS
+else ifeq ($(platform), rpi4_64)
+ TARGET := $(TARGET_NAME)_libretro.so
+ ARCH := arm64
+ BUILTIN_GPU = unai
+ DYNAREC = lightrec
+ fpic := -fPIC
+ CFLAGS += -march=armv8-a+crc+simd -mtune=cortex-a72 -ftree-vectorize
+
# Classic Platforms ####################
# Platform affix = classic_<ISA>_<µARCH>
# Help at https://modmyclassic.com/comp
ARCH = arm
DYNAREC = ari64
+# Emscripten
+else ifeq ($(platform), emscripten)
+ TARGET := $(TARGET_NAME)_libretro_$(platform).bc
+ fpic := -fPIC
+ SHARED := -shared -Wl,--no-undefined -Wl,--version-script=link.T
+ CFLAGS += -DNO_DYLIB -DNO_SOCKET
+ STATIC_LINKING = 1
+
# Windows
else
TARGET := $(TARGET_NAME)_libretro.dll