Merge branch 'libretro' into libretro-reset
[picodrive.git] / Makefile.libretro
index b2ccc41..b35a0da 100644 (file)
@@ -23,6 +23,7 @@ AS ?= as
 CC_AS ?= $(CC)
 CFLAGS ?=
 
+STATIC_LINKING:= 0
 TARGET_NAME := picodrive
 LIBM := -lm
 GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)"
@@ -34,14 +35,19 @@ asm_memory = 0
 asm_render = 0
 asm_ym2612 = 0
 asm_misc = 0
-asm_cdpico = 0
 asm_cdmemory = 0
 asm_mix = 0
 
 fpic :=
+
+ifeq ($(STATIC_LINKING),1)
+EXT=a
+endif
+
 # Unix
 ifeq ($(platform), unix)
-       TARGET := $(TARGET_NAME)_libretro.so
+       EXT ?= so
+       TARGET := $(TARGET_NAME)_libretro.$(EXT)
    fpic := -fPIC
        SHARED := -shared
        DONT_COMPILE_IN_ZLIB = 1
@@ -49,7 +55,8 @@ ifeq ($(platform), unix)
 
 # Portable Linux
 else ifeq ($(platform), linux-portable)
-       TARGET := $(TARGET_NAME)_libretro.so
+       EXT ?= so
+       TARGET := $(TARGET_NAME)_libretro.$(EXT)
        SHARED := -shared -nostdlib
    fpic := -fPIC
        LIBM :=
@@ -58,7 +65,8 @@ else ifeq ($(platform), linux-portable)
 
 # OS X
 else ifeq ($(platform), osx)
-       TARGET := $(TARGET_NAME)_libretro.dylib
+       EXT ?= dylib
+       TARGET := $(TARGET_NAME)_libretro.$(EXT)
        SHARED := -dynamiclib
    fpic := -fPIC
        APPLE := 1
@@ -73,44 +81,35 @@ else ifeq ($(platform), osx)
        OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"`
        SHARED += -mmacosx-version-min=10.1
 
-# iOS
-else ifneq (,$(findstring ios,$(platform)))
-       TARGET := $(TARGET_NAME)_libretro_ios.dylib
-       SHARED := -dynamiclib
-   fpic := -fPIC
+else ifeq ($(platform), staticios)
+       TARGET := $(TARGET_NAME)_libretro_ios.a
        APPLE := 1
        ifeq ($(IOSSDK),)
                IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path)
        endif
-       CC = clang -arch armv7 -isysroot $(IOSSDK)
-       CXX = clang++ -arch armv7 -isysroot $(IOSSDK)
+       CC = clang -arch armv7 -arch arm64 -isysroot $(IOSSDK)
+       CXX = clang++ -arch armv7 -arch arm64 -isysroot $(IOSSDK)
        CC_AS = perl ./tools/gas-preprocessor.pl $(CC)
-       CFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon -marm 
-       ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
+       CFLAGS += -marm 
        CFLAGS += -DIOS
 
-ifeq ($(platform),ios9)
        CC     += -miphoneos-version-min=8.0
        CXX    += -miphoneos-version-min=8.0
        CC_AS  += -miphoneos-version-min=8.0
        CFLAGS += -miphoneos-version-min=8.0
-else
-       CC     += -miphoneos-version-min=5.0
-       CXX    += -miphoneos-version-min=5.0
-       CC_AS  += -miphoneos-version-min=5.0
-       CFLAGS += -miphoneos-version-min=5.0
-endif
        ARCH := arm
 
+       STATIC_LINKING = 1
        use_cyclone = 0
        use_fame = 1
        use_drz80 = 0
        use_cz80 = 1
-       use_sh2drc = 1
-       use_svpdrc = 1
+       use_sh2drc = 0
+       use_svpdrc = 0
 
-else ifneq (,$(findstring ios_static,$(platform)))
-       TARGET := $(TARGET_NAME)_libretro_ios.a
+# iOS
+else ifneq (,$(findstring ios,$(platform)))
+       TARGET := $(TARGET_NAME)_libretro_ios.dylib
        SHARED := -dynamiclib
    fpic := -fPIC
        APPLE := 1
@@ -124,13 +123,19 @@ else ifneq (,$(findstring ios_static,$(platform)))
        ASFLAGS += -mcpu=cortex-a8 -mtune=cortex-a8 -mfpu=neon
        CFLAGS += -DIOS
 
+ifeq ($(platform),ios9)
        CC     += -miphoneos-version-min=8.0
        CXX    += -miphoneos-version-min=8.0
        CC_AS  += -miphoneos-version-min=8.0
        CFLAGS += -miphoneos-version-min=8.0
+else
+       CC     += -miphoneos-version-min=5.0
+       CXX    += -miphoneos-version-min=5.0
+       CC_AS  += -miphoneos-version-min=5.0
+       CFLAGS += -miphoneos-version-min=5.0
+endif
        ARCH := arm
 
-       STATIC_LINKING = 1
        use_cyclone = 0
        use_fame = 1
        use_drz80 = 0
@@ -210,7 +215,7 @@ else ifeq ($(platform), psp1)
     CC = psp-gcc$(EXE_EXT)
     AR = psp-ar$(EXE_EXT)
     CFLAGS += -G0 -ftracer
-    CFLAGS += -DPSP -D_ASM_DRAW_C_AMIPS
+    CFLAGS += -DPSP
     STATIC_LINKING = 1
     NO_MMAP = 1
     DONT_COMPILE_IN_ZLIB = 1
@@ -227,8 +232,6 @@ else ifeq ($(platform), psp1)
     use_drz80 = 0
     use_cz80 = 1
 
-    OBJS +=platform/libretro/psp/draw_amips.o
-
 # CTR (3DS)
 else ifeq ($(platform), ctr)
    TARGET := $(TARGET_NAME)_libretro_$(platform).a
@@ -361,7 +364,7 @@ else ifeq ($(platform), qnx)
 # ARM
 else ifneq (,$(findstring armv,$(platform)))
        TARGET := $(TARGET_NAME)_libretro.so
-       SHARED := -shared -Wl,--no-undefined
+       SHARED := -shared -Wl,--no-undefined,-Bsymbolic
    fpic := -fPIC
        ifneq (,$(findstring cortexa5,$(platform)))
                CFLAGS += -marm -mcpu=cortex-a5
@@ -440,16 +443,16 @@ ifeq ($(NO_MMAP),1)
 endif
 
 ifeq ($(ARM_ASM),1)
-       asm_memory = 1
-       asm_render = 1
-       asm_ym2612 = 1
-       asm_misc = 1
-       asm_cdpico = 1
-       asm_cdmemory = 1
-       asm_mix = 1
+asm_memory = 1
+asm_render = 1
+asm_ym2612 = 1
+asm_misc = 1
+asm_cdmemory = 1
+asm_mix = 1
 endif
 
 CFLAGS += $(fpic)
+
 ifeq ($(findstring Haiku,$(shell uname -a)),)
        LDLIBS += $(LIBM)
 endif