X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile.libretro;h=306c8afbb12cc4c296f0b9a20d0c102a5d87cf6e;hb=49c8aa78d9e28562f8c5fd0ce90cc7ecde2b2bba;hp=9e20e24732c2db9020849379ad22adf6b57ad1aa;hpb=937c7e5283809a100d4b504296576878d2016ea0;p=picodrive.git diff --git a/Makefile.libretro b/Makefile.libretro index 9e20e24..306c8af 100644 --- a/Makefile.libretro +++ b/Makefile.libretro @@ -23,21 +23,31 @@ AS ?= as CC_AS ?= $(CC) CFLAGS ?= +STATIC_LINKING:= 0 TARGET_NAME := picodrive LIBM := -lm +GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)" +ifneq ($(GIT_VERSION)," unknown") + CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\" +endif 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 @@ -45,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 := @@ -54,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 @@ -69,6 +81,32 @@ else ifeq ($(platform), osx) OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"` SHARED += -mmacosx-version-min=10.1 +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 -arch arm64 -isysroot $(IOSSDK) + CXX = clang++ -arch armv7 -arch arm64 -isysroot $(IOSSDK) + CC_AS = perl ./tools/gas-preprocessor.pl $(CC) + CFLAGS += -marm + CFLAGS += -DIOS + + 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 + ARCH := arm + + STATIC_LINKING = 1 + use_cyclone = 0 + use_fame = 1 + use_drz80 = 0 + use_cz80 = 1 + use_sh2drc = 0 + use_svpdrc = 0 + # iOS else ifneq (,$(findstring ios,$(platform))) TARGET := $(TARGET_NAME)_libretro_ios.dylib @@ -263,8 +301,10 @@ else ifeq ($(platform), vita) CC = arm-vita-eabi-gcc$(EXE_EXT) AR = arm-vita-eabi-ar$(EXE_EXT) CFLAGS += -DVITA - CFLAGS += -mfloat-abi=hard -ffast-math -mword-relocations - CFLAGS += -marm -mfpu=neon -mcpu=cortex-a9 -march=armv7-a + CFLAGS += -marm -mfpu=neon -mcpu=cortex-a9 -march=armv7-a -mfloat-abi=hard -ffast-math + CFLAGS += -fno-asynchronous-unwind-tables -ftree-vectorize -funroll-loops + CFLAGS += -mword-relocations -fno-unwind-tables + CFLAGS += -fno-optimize-sibling-calls STATIC_LINKING = 1 NO_MMAP = 1 DONT_COMPILE_IN_ZLIB = 1 @@ -274,15 +314,15 @@ else ifeq ($(platform), vita) asm_render = 1 asm_ym2612 = 1 asm_misc = 1 - asm_cdpico = 0 - asm_cdmemory = 0 + asm_cdpico = 1 + asm_cdmemory = 1 asm_mix = 1 use_cyclone = 1 use_fame = 0 use_drz80 = 1 use_cz80 = 0 - use_sh2drc = 0 - use_svpdrc = 0 + use_sh2drc = 1 + use_svpdrc = 1 # Xbox 360 else ifeq ($(platform), xenon) @@ -405,16 +445,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