mirror of
https://github.com/bsnes-emu/bsnes.git
synced 2025-09-03 23:02:37 +02:00
Update libretro's Makefile to support more targets
(cherry picked from commit 17f0ff2cf7
)
This commit is contained in:
@@ -41,6 +41,9 @@ else ifneq ($(findstring Darwin,$(shell uname -a)),)
|
|||||||
ifeq ($(shell uname -p),powerpc)
|
ifeq ($(shell uname -p),powerpc)
|
||||||
arch = ppc
|
arch = ppc
|
||||||
endif
|
endif
|
||||||
|
ifeq ($(shell uname -p),arm)
|
||||||
|
arch = arm
|
||||||
|
endif
|
||||||
else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
else ifneq ($(findstring MINGW,$(shell uname -a)),)
|
||||||
system_platform = win
|
system_platform = win
|
||||||
endif
|
endif
|
||||||
@@ -52,15 +55,8 @@ endif
|
|||||||
CORE_DIR = ..
|
CORE_DIR = ..
|
||||||
|
|
||||||
TARGET_NAME = sameboy
|
TARGET_NAME = sameboy
|
||||||
LIBM = -lm
|
LIBM = -lm
|
||||||
|
|
||||||
ifeq ($(ARCHFLAGS),)
|
|
||||||
ifeq ($(archs),ppc)
|
|
||||||
ARCHFLAGS = -arch ppc -arch ppc64
|
|
||||||
else
|
|
||||||
ARCHFLAGS = -arch i386 -arch x86_64
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(SANITIZER),)
|
ifneq ($(SANITIZER),)
|
||||||
CFLAGS := -fsanitize=$(SANITIZER) $(CFLAGS)
|
CFLAGS := -fsanitize=$(SANITIZER) $(CFLAGS)
|
||||||
@@ -68,13 +64,6 @@ ifneq ($(SANITIZER),)
|
|||||||
LDFLAGS := -fsanitize=$(SANITIZER) $(LDFLAGS) -lasan
|
LDFLAGS := -fsanitize=$(SANITIZER) $(LDFLAGS) -lasan
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(platform), osx)
|
|
||||||
ifndef ($(NOUNIVERSAL))
|
|
||||||
CFLAGS += $(ARCHFLAGS)
|
|
||||||
LFLAGS += $(ARCHFLAGS)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(STATIC_LINKING), 1)
|
ifeq ($(STATIC_LINKING), 1)
|
||||||
EXT := a
|
EXT := a
|
||||||
endif
|
endif
|
||||||
@@ -91,7 +80,7 @@ else ifeq ($(platform), linux-portable)
|
|||||||
LIBM :=
|
LIBM :=
|
||||||
# (armv7 a7, hard point, neon based) ###
|
# (armv7 a7, hard point, neon based) ###
|
||||||
# NESC, SNESC, C64 mini
|
# NESC, SNESC, C64 mini
|
||||||
else ifeq ($(platform), classic_armv7_a7)
|
else ifeq ($(platform),$(filter $(platform),classic_armv7_a7 unix-armv7-hardfloat-neon))
|
||||||
TARGET := $(TARGET_NAME)_libretro.so
|
TARGET := $(TARGET_NAME)_libretro.so
|
||||||
fpic := -fPIC
|
fpic := -fPIC
|
||||||
SHARED := -shared -Wl,--version-script=$(CORE_DIR)/libretro/link.T -Wl,--no-undefined
|
SHARED := -shared -Wl,--version-script=$(CORE_DIR)/libretro/link.T -Wl,--no-undefined
|
||||||
@@ -149,8 +138,8 @@ else ifeq ($(platform), libnx)
|
|||||||
# Nintendo WiiU
|
# Nintendo WiiU
|
||||||
else ifeq ($(platform), wiiu)
|
else ifeq ($(platform), wiiu)
|
||||||
TARGET := $(TARGET_NAME)_libretro_$(platform).a
|
TARGET := $(TARGET_NAME)_libretro_$(platform).a
|
||||||
CC ?= $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT)
|
||||||
AR ?= $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
|
AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT)
|
||||||
CFLAGS += -DGEKKO -DHW_RVL -DWIIU -mwup -mcpu=750 -meabi -mhard-float -D__ppc__ -DMSB_FIRST -I$(DEVKITPRO)/libogc/include
|
CFLAGS += -DGEKKO -DHW_RVL -DWIIU -mwup -mcpu=750 -meabi -mhard-float -D__ppc__ -DMSB_FIRST -I$(DEVKITPRO)/libogc/include
|
||||||
CFLAGS += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int
|
CFLAGS += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int
|
||||||
STATIC_LINKING = 1
|
STATIC_LINKING = 1
|
||||||
@@ -158,10 +147,40 @@ else ifneq (,$(findstring osx,$(platform)))
|
|||||||
TARGET := $(TARGET_NAME)_libretro.dylib
|
TARGET := $(TARGET_NAME)_libretro.dylib
|
||||||
fpic := -fPIC
|
fpic := -fPIC
|
||||||
SHARED := -dynamiclib
|
SHARED := -dynamiclib
|
||||||
|
MACSOSVER = `sw_vers -productVersion | cut -d. -f 1`
|
||||||
|
OSXVER = `sw_vers -productVersion | cut -d. -f 2`
|
||||||
|
OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"`
|
||||||
|
MINVERSION :=
|
||||||
|
|
||||||
|
ifeq ($(UNIVERSAL),1)
|
||||||
|
ifeq ($(archs),ppc)
|
||||||
|
ARCHFLAGS = -arch ppc -arch ppc64
|
||||||
|
else ifeq ($(archs),arm64)
|
||||||
|
ARCHFLAGS = -arch x86_64 -arch arm64
|
||||||
|
else
|
||||||
|
ARCHFLAGS = -arch i386 -arch x86_64
|
||||||
|
endif
|
||||||
|
CFLAGS += $(ARCHFLAGS)
|
||||||
|
LFLAGS += $(ARCHFLAGS)
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CROSS_COMPILE),1)
|
||||||
|
TARGET_RULE = -target $(LIBRETRO_APPLE_PLATFORM) -isysroot $(LIBRETRO_APPLE_ISYSROOT)
|
||||||
|
CFLAGS += $(TARGET_RULE)
|
||||||
|
CPPFLAGS += $(TARGET_RULE)
|
||||||
|
CXXFLAGS += $(TARGET_RULE)
|
||||||
|
LDFLAGS += $(TARGET_RULE)
|
||||||
|
endif
|
||||||
|
|
||||||
|
CFLAGS += $(ARCHFLAGS)
|
||||||
|
CXXFLAGS += $(ARCHFLAGS)
|
||||||
|
LDFLAGS += $(ARCHFLAGS)
|
||||||
|
|
||||||
else ifneq (,$(findstring ios,$(platform)))
|
else ifneq (,$(findstring ios,$(platform)))
|
||||||
TARGET := $(TARGET_NAME)_libretro_ios.dylib
|
TARGET := $(TARGET_NAME)_libretro_ios.dylib
|
||||||
fpic := -fPIC
|
fpic := -fPIC
|
||||||
SHARED := -dynamiclib
|
SHARED := -dynamiclib
|
||||||
|
MINVERSION :=
|
||||||
|
|
||||||
ifeq ($(IOSSDK),)
|
ifeq ($(IOSSDK),)
|
||||||
IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path)
|
IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path)
|
||||||
@@ -169,17 +188,28 @@ endif
|
|||||||
|
|
||||||
DEFINES := -DIOS
|
DEFINES := -DIOS
|
||||||
ifeq ($(platform),ios-arm64)
|
ifeq ($(platform),ios-arm64)
|
||||||
CC = cc -arch armv64 -isysroot $(IOSSDK)
|
CC = cc -arch armv64 -isysroot $(IOSSDK)
|
||||||
else
|
else
|
||||||
CC = cc -arch armv7 -isysroot $(IOSSDK)
|
CC = cc -arch armv7 -isysroot $(IOSSDK)
|
||||||
endif
|
endif
|
||||||
ifeq ($(platform),$(filter $(platform),ios9 ios-arm64))
|
ifeq ($(platform),$(filter $(platform),ios9 ios-arm64))
|
||||||
CC += -miphoneos-version-min=8.0
|
MINVERSION = -miphoneos-version-min=8.0
|
||||||
CFLAGS += -miphoneos-version-min=8.0
|
|
||||||
else
|
else
|
||||||
CC += -miphoneos-version-min=5.0
|
MINVERSION = -miphoneos-version-min=5.0
|
||||||
CFLAGS += -miphoneos-version-min=5.0
|
|
||||||
endif
|
endif
|
||||||
|
CFLAGS += $(MINVERSION)
|
||||||
|
|
||||||
|
else ifeq ($(platform), tvos-arm64)
|
||||||
|
EXT?=dylib
|
||||||
|
TARGET := $(TARGET_NAME)_libretro_tvos.$(EXT)
|
||||||
|
fpic := -fPIC
|
||||||
|
SHARED := -dynamiclib
|
||||||
|
DEFINES := -DIOS
|
||||||
|
ifeq ($(IOSSDK),)
|
||||||
|
IOSSDK := $(shell xcodebuild -version -sdk appletvos Path)
|
||||||
|
endif
|
||||||
|
CC = cc -arch arm64 -isysroot $(IOSSDK)
|
||||||
|
|
||||||
else ifneq (,$(findstring qnx,$(platform)))
|
else ifneq (,$(findstring qnx,$(platform)))
|
||||||
TARGET := $(TARGET_NAME)_libretro_qnx.so
|
TARGET := $(TARGET_NAME)_libretro_qnx.so
|
||||||
fpic := -fPIC
|
fpic := -fPIC
|
||||||
|
Reference in New Issue
Block a user