ifeq ($(platform), unix)
TARGET := $(TARGET_NAME)_libretro.so
fpic := -fPIC
+ THREAD_RENDERING = 1
ifneq ($(findstring SunOS,$(shell uname -s)),)
CC = gcc
endif
# OS X
else ifeq ($(platform), osx)
+ DYNAREC ?= lightrec
TARGET := $(TARGET_NAME)_libretro.dylib
fpic := -fPIC
fpic += -mmacosx-version-min=10.1
-ifeq ($(DYNAREC),)
- # Override
- TARGET := $(TARGET_NAME)_interpreter_libretro.dylib
-endif
# iOS
else ifeq ($(platform),$(filter $(platform),ios-arm64))
ARCH := arm64
HAVE_NEON = 0
BUILTIN_GPU = peops
+ DYNAREC = 0
TARGET := $(TARGET_NAME)_interpreter_libretro_ios.dylib
CC = clang -arch arm64 -isysroot $(IOSSDK) -miphoneos-version-min=8.0
else ifneq (,$(findstring ios,$(platform)))
ARCH := arm
+# DYNAREC ?= ari64
HAVE_NEON = 1
BUILTIN_GPU = neon
TARGET := $(TARGET_NAME)_libretro_ios.dylib
-ifeq ($(DYNAREC),)
+ifeq ($(DYNAREC),lightrec)
# Override
+ DYNAREC = 0
TARGET := $(TARGET_NAME)_interpreter_libretro_ios.dylib
endif
fpic := -fPIC
HAVE_NEON = 1
BUILTIN_GPU = neon
+ DYNAREC = ari64
DRC_CACHE_BASE = 0
ARCH = arm
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
+ 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
- CFLAGS += -Ifrontend/3ds
+ CFLAGS += -fomit-frame-pointer -ffast-math -funroll-loops
+ 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
HAVE_NEON = 0
CC = qcc -Vgcc_ntoarmv7le
CC_AS = $(CC)
HAVE_NEON = 1
+ DYNAREC = ari64
DRC_CACHE_BASE = 0
BUILTIN_GPU = neon
ARCH = arm
HAVE_NEON = 1
ARCH = arm
BUILTIN_GPU = neon
+ DYNAREC = ari64
#Raspberry Pi 3
else ifeq ($(platform), rpi3)
HAVE_NEON = 1
ARCH = arm
BUILTIN_GPU = neon
+ DYNAREC = ari64
#Raspberry Pi 4
else ifeq ($(platform), rpi4)
HAVE_NEON = 1
ARCH = arm
BUILTIN_GPU = neon
+ DYNAREC = ari64
# Classic Platforms ####################
# Platform affix = classic_<ISA>_<µARCH>
HAVE_NEON = 1
ARCH = arm
BUILTIN_GPU = neon
+ DYNAREC = ari64
ifeq ($(shell echo `$(CC) -dumpversion` "< 4.9" | bc -l), 1)
CFLAGS += -march=armv7-a
else
HAVE_NEON = 1
ARCH = arm
BUILTIN_GPU = neon
+ DYNAREC = ari64
LDFLAGS += -static-libgcc -static-libstdc++ -fPIC
#######################################
ASFLAGS += -mfloat-abi=hard
endif
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
# what does this do
#libretro_all: all
#ifeq ($(platform),ios)
-#ifeq ($(USE_DYNAREC),1)
-# make -f Makefile.libretro USE_DYNAREC=0 platform=$(platform) clean
-# make -f Makefile.libretro USE_DYNAREC=0 platform=$(platform)
+#ifeq ($(DYNAREC),1)
+# make -f Makefile.libretro DYNAREC=0 platform=$(platform) clean
+# make -f Makefile.libretro DYNAREC=0 platform=$(platform)
#endif
#endif