X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile.libretro;h=306c8afbb12cc4c296f0b9a20d0c102a5d87cf6e;hb=eac2357fafe6ed29407e583aee71834c36a0319f;hp=3ea2b11880016184284fda3bdaad688bcbe0b43b;hpb=f191d3f8342bea300bac450dcdd37adf86060640;p=picodrive.git diff --git a/Makefile.libretro b/Makefile.libretro index 3ea2b11..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,23 +301,28 @@ else ifeq ($(platform), vita) CC = arm-vita-eabi-gcc$(EXE_EXT) AR = arm-vita-eabi-ar$(EXE_EXT) CFLAGS += -DVITA + 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 ARCH = arm - ARM_ASM = 1 asm_memory = 1 asm_render = 1 asm_ym2612 = 1 - asm_misc = 0 - asm_cdpico = 0 - asm_cdmemory = 0 - asm_mix = 0 - use_cyclone = 0 - use_fame = 1 + asm_misc = 1 + asm_cdpico = 1 + asm_cdmemory = 1 + asm_mix = 1 + use_cyclone = 1 + use_fame = 0 use_drz80 = 1 use_cz80 = 0 + use_sh2drc = 1 + use_svpdrc = 1 # Xbox 360 else ifeq ($(platform), xenon) @@ -360,7 +403,6 @@ else ifneq (,$(findstring armv,$(platform))) else ifeq ($(platform), emscripten) TARGET := $(TARGET_NAME)_libretro_$(platform).bc STATIC_LINKING = 1 - NO_MMAP = 1 DONT_COMPILE_IN_ZLIB = 1 # GCW0 @@ -403,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