(linux-portable) No musl
[picodrive.git] / Makefile.libretro
index 361ae15..01a3c77 100644 (file)
@@ -24,6 +24,7 @@ CC_AS ?= $(CC)
 CFLAGS ?=
 
 TARGET_NAME := picodrive
+LIBM := -lm
 
 asm_memory = 0
 asm_render = 0
@@ -36,6 +37,14 @@ asm_mix = 0
 ifeq ($(platform), unix)
    TARGET := $(TARGET_NAME)_libretro.so
    SHARED := -shared
+   DONT_COMPILE_IN_ZLIB = 1
+       CFLAGS += -DFAMEC_NO_GOTOS
+else ifeq ($(platform), linux-portable)
+   TARGET := $(TARGET_NAME)_libretro.so
+   SHARED := -shared -nostdlib
+       LIBM :=
+   DONT_COMPILE_IN_ZLIB = 1
+       CFLAGS += -DFAMEC_NO_GOTOS
 else ifeq ($(platform), osx)
    TARGET := $(TARGET_NAME)_libretro.dylib
    SHARED := -dynamiclib
@@ -48,20 +57,35 @@ endif
 
 ifeq ($(arch),ppc)
    CFLAGS += -DBLARGG_BIG_ENDIAN=1 -D__ppc__ -DFAMEC_NO_GOTOS
-else
-   SHARED += -mmacosx-version-min=10.6
+endif
+   OSXVER = `sw_vers -productVersion | cut -d. -f 2`
+   OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"`
+ifeq ($(OSX_LT_MAVERICKS),"YES")
+   SHARED += -mmacosx-version-min=10.5
 endif
 else ifeq ($(platform), ios)
    TARGET := $(TARGET_NAME)_libretro_ios.dylib
    SHARED := -dynamiclib
    APPLE := 1
 
-   CC = clang -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
-   CXX = clang++ -arch armv7 -isysroot $(IOSSDK) -miphoneos-version-min=5.0
-   CC_AS = perl ./tools/gas-preprocessor.pl $(CC) -miphoneos-version-min=5.0
+ifeq ($(IOSSDK),)
+   IOSSDK := $(shell xcrun -sdk iphoneos -show-sdk-path)
+endif
+
+   CC = clang -arch armv7 -isysroot $(IOSSDK)
+   CXX = clang++ -arch armv7 -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 += -DIOS -miphoneos-version-min=5.0
+   CFLAGS += -DIOS
+   OSXVER = `sw_vers -productVersion | cut -d. -f 2`
+   OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"`
+ifeq ($(OSX_LT_MAVERICKS),"YES")
+   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
 
@@ -203,7 +227,7 @@ ifneq (,$(findstring armasm,$(platform)))
 endif
    ARCH = arm
 else
-   TARGET := $(TARGET_NAME)_retro.dll
+   TARGET := $(TARGET_NAME)_libretro.dll
    CC = gcc
    LD_FLAGS := -fPIC
    SHARED := -shared -static-libgcc -static-libstdc++
@@ -227,7 +251,9 @@ asm_mix = 1
 endif
 
 CFLAGS += -fPIC
-LDLIBS += -lm
+ifeq ($(findstring Haiku,$(shell uname -a)),)
+   LDLIBS += $(LIBM)
+endif
 SHARED ?= -shared
 LDFLAGS += $(SHARED)