CFLAGS ?=
TARGET_NAME := pcsx_rearmed
-
+LIBM := -lm
+LIBZ := -lz
+LIBPTHREAD := -lpthread
+LIBDL := -ldl
MMAP_WIN32=0
+EXTRA_LDFLAGS =
# Unix
ifeq ($(platform), unix)
fpic := -fPIC
SHARED := -shared -Wl,--version-script=libretro/link.T
+else ifeq ($(platform), linux-portable)
+ TARGET := $(TARGET_NAME)_libretro.so
+ fpic := -fPIC -nostdlib
+ EXTRA_LDFLAGS += -fPIC -nostdlib
+ LIBM :=
+ LIBZ :=
+ LIBPTHREAD :=
+ LIBDL :=
+ SHARED := -shared -Wl,--version-script=libretro/link.T
# OS X
else ifeq ($(platform), osx)
TARGET := $(TARGET_NAME)_libretro.dylib
SHARED := -dynamiclib
OSXVER = `sw_vers -productVersion | cut -d. -f 2`
OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"`
- ifeq ($(OSX_LT_MAVERICKS),"YES")
- fpic += -mmacosx-version-min=10.5
- endif
+ fpic += -mmacosx-version-min=10.1
# iOS
else ifeq ($(platform), ios)
ARCH := arm
+ USE_DYNAREC ?= 1
TARGET := $(TARGET_NAME)_libretro_ios.dylib
+ifeq ($(USE_DYNAREC),0)
+ # Override
+ TARGET := $(TARGET_NAME)_interpreter_libretro_ios.dylib
+endif
fpic := -fPIC
SHARED := -dynamiclib
ifeq ($(IOSSDK),)
- IOSSDK := $(shell xcrun -sdk iphoneos -show-sdk-path)
+ IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path)
endif
CC = clang -arch armv7 -isysroot $(IOSSDK)
ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
HAVE_NEON = 1
BUILTIN_GPU = neon
- USE_DYNAREC = 1
CFLAGS += -DIOS
OSXVER = `sw_vers -productVersion | cut -d. -f 2`
OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"`
AR = psp-ar$(EXE_EXT)
CFLAGS += -DPSP -G0
+# Vita
+else ifeq ($(platform), vita)
+ TARGET := $(TARGET_NAME)_libretro_vita.a
+ CC = arm-vita-eabi-gcc$(EXE_EXT)
+ AR = arm-vita-eabi-ar$(EXE_EXT)
+ CFLAGS += -DVITA
+ 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
+
+# CTR(3DS)
+else ifeq ($(platform), ctr)
+ TARGET := $(TARGET_NAME)_libretro_ctr.a
+ 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
+ CFLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard -marm -mfpu=vfp
+ CFLAGS += -Wall -mword-relocations
+ CFLAGS += -fomit-frame-pointer -ffast-math
+ CFLAGS += -I$(CTRULIB)/include -I$(DEVKITPRO)/portlibs/armv6k/include -Ifrontend/3ds
+ CFLAGS += -Werror=implicit-function-declaration
+
+ CXXFLAGS += -fno-rtti -fno-exceptions -std=gnu++11
+ OBJS += frontend/3ds/3ds_utils.o frontend/3ds/libkhax/khaxinit.o
+
+
+# CFLAGS += -DPCSX
+# BUILTIN_GPU = unai
+ USE_DYNAREC = 1
+ DRC_CACHE_BASE = 0
+ ARCH = arm
+
+ STATIC_LINKING = 1
+
# Xbox 360
else ifeq ($(platform), xenon)
TARGET := $(TARGET_NAME)_libretro_xenon360.a
endif
CFLAGS += -fPIC
-ifneq ($(platform),qnx)
- LDLIBS += -lpthread
- MAIN_LDLIBS += -ldl
+ifeq ($(platform),win)
+ MAIN_LDLIBS += -lws2_32
+else ifneq ($(platform),qnx)
+ LDLIBS += $(LIBPHTREAD)
+ MAIN_LDLIBS += $(LIBDL)
endif
MAIN_LDFLAGS += -shared
-MAIN_LDLIBS += -lm -lz
-EXTRA_LDFLAGS =
+MAIN_LDLIBS += $(LIBM) $(LIBZ)
TARGET ?= libretro.so
PLATFORM = libretro
PLUGINS =
NO_CONFIG_MAK = yes
+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)
+endif
+endif
+
include Makefile
# no special AS needed for gpu_neon