From a14c7c5e84b66a16e328ffd19a484a30ce615d4d Mon Sep 17 00:00:00 2001 From: meepingsnesroms Date: Wed, 10 Oct 2018 17:24:09 -0700 Subject: [PATCH] Update libretro port Compiles again on mac so testing works again. --- libretroBuildSystem/Makefile.libretro | 69 ++- .../Makefile.libretro.withoutMacFix | 534 ++++++++++++++++++ .../build/Makefile.android_arm64-v8a | 29 +- .../build/Makefile.android_armeabi | 41 +- .../build/Makefile.android_armeabi-v7a | 41 +- .../build/Makefile.android_mips | 39 +- .../build/Makefile.android_mips64 | 29 +- .../build/Makefile.android_x86 | 37 +- .../build/Makefile.android_x86_64 | 29 +- libretroBuildSystem/build/Makefile.common | 5 +- .../build/Makefile.linux-portable_x86 | 27 +- .../build/Makefile.linux-portable_x86_64 | 27 +- libretroBuildSystem/build/Makefile.linux_x86 | 27 +- .../build/Makefile.linux_x86_64 | 27 +- libretroBuildSystem/build/Makefile.mingw_x86 | 27 +- .../build/Makefile.mingw_x86_64 | 27 +- libretroBuildSystem/build/Makefile.osx_x86 | 96 ++++ libretroBuildSystem/build/Makefile.osx_x86_64 | 96 ++++ libretroBuildSystem/build/Makefile.ps3_ppc | 96 ++++ libretroBuildSystem/build/Makefile.vita_arm | 96 ++++ libretroBuildSystem/build/Makefile.wii_ppc | 27 +- .../build/Makefile.windows_x86 | 27 +- .../build/Makefile.windows_x86_64 | 27 +- libretroBuildSystem/cursor16x16.png | Bin 0 -> 445 bytes libretroBuildSystem/cursor32x32.png | Bin 0 -> 1141 bytes libretroBuildSystem/libretro.c | 85 +-- 26 files changed, 1287 insertions(+), 278 deletions(-) create mode 100644 libretroBuildSystem/Makefile.libretro.withoutMacFix create mode 100644 libretroBuildSystem/build/Makefile.osx_x86 create mode 100644 libretroBuildSystem/build/Makefile.osx_x86_64 create mode 100644 libretroBuildSystem/build/Makefile.ps3_ppc create mode 100644 libretroBuildSystem/build/Makefile.vita_arm create mode 100644 libretroBuildSystem/cursor16x16.png create mode 100644 libretroBuildSystem/cursor32x32.png diff --git a/libretroBuildSystem/Makefile.libretro b/libretroBuildSystem/Makefile.libretro index b9b3f21..50cf440 100644 --- a/libretroBuildSystem/Makefile.libretro +++ b/libretroBuildSystem/Makefile.libretro @@ -7,7 +7,7 @@ LAGFIX=1 CORE_DIR := . BUILD_DIR = build -OBJOUT = -o +OBJOUT = -o ifeq ($(platform),android_arm64-v8a) include $(BUILD_DIR)/Makefile.android_arm64-v8a @@ -132,9 +132,12 @@ else ifeq ($(platform), osx) ifeq ($(arch),ppc) CFLAGS += -D__ppc__ -DMSB_FIRST endif - OSXVER = `sw_vers -productVersion | cut -d. -f 2` - OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"` - fpic += -mmacosx-version-min=10.1 + OSXVER = $(shell sw_vers -productVersion | cut -d. -f 2) + OSX_GT_MOJAVE = $(shell (( $(OSXVER) >= 14)) && echo "YES") +ifneq ($(OSX_GT_MOJAVE),YES) + #this breaks compiling on Mac OS Mojave + fpic += -mmacosx-version-min=10.1 +endif SHARED := -dynamiclib # iOS @@ -271,7 +274,7 @@ else ifeq ($(platform), rpi2) CFLAGS += -marm -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations CFLAGS += -fomit-frame-pointer -ffast-math HAVE_NEON = 1 - + # Raspberry Pi 3 else ifeq ($(platform), rpi3) TARGET := $(TARGET_NAME)_libretro.so @@ -292,6 +295,16 @@ else ifeq ($(platform), xenon) STATIC_LINKING=1 STATIC_LINKING_LINK=1 +# Nintendo Classics (Hakchi) +else ifeq ($(platform), nintendoc) + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC + SHARED := -shared -Wl,--version-script=build/link.T -Wl,--no-undefined + CFLAGS += -DARM + CFLAGS += -marm -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations + CFLAGS += -fomit-frame-pointer -ffast-math + HAVE_NEON = 1 + # Nintendo Game Cube else ifeq ($(platform), ngc) EXT=a @@ -356,8 +369,7 @@ endif # Emscripten else ifeq ($(platform), emscripten) - EXT ?= bc - TARGET := $(TARGET_NAME)_libretro_emscripten.$(EXT) + TARGET := $(TARGET_NAME)_libretro_emscripten.bc STATIC_LINKING=1 # GCW0 @@ -377,10 +389,26 @@ else ifeq ($(platform), msvc) # Nintendo Switch (libtransistor) else ifeq ($(platform), switch) EXT=a - TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) - include $(LIBTRANSISTOR_HOME)/libtransistor.mk - STATIC_LINKING=1 - STATIC_LINKING_LINK=1 + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + include $(LIBTRANSISTOR_HOME)/libtransistor.mk + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# Nintendo Switch (libnx) +else ifeq ($(platform), libnx) + include $(DEVKITPRO)/libnx/switch_rules + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + DEFINES := -DSWITCH=1 -U__linux__ -U__linux -DRARCH_INTERNAL + CFLAGS := $(DEFINES) -g \ + -O3 \ + -fPIE -I$(LIBNX)/include/ -ffunction-sections -fdata-sections -ftls-model=local-exec -Wl,--allow-multiple-definition -specs=$(LIBNX)/switch.specs + CFLAGS += $(INCDIRS) + CFLAGS += $(INCLUDE) -D__SWITCH__ -DARM -march=armv8-a -mtune=cortex-a57 -mtp=soft + CXXFLAGS := $(ASFLAGS) $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 + CFLAGS += -std=gnu11 + STATIC_LINKING = 1 + STATIC_LINKING_LINK=1 # Windows MSVC 2003 Xbox 1 else ifeq ($(platform), xbox1_msvc2003) @@ -425,7 +453,7 @@ include $(BUILD_DIR)/Makefile.common OBJECTS := $(SOURCES_C:.c=.o) -DEFINES = $(COREDEFINES) +DEFINES = $(COREDEFINES) ifeq ($(STATIC_LINKING),1) DEFINES += -DSTATIC_LINKING @@ -460,7 +488,7 @@ else endif else OBJOUT = -o - LINKOUT = -o + LINKOUT = -o LD = $(CC) endif @@ -473,7 +501,9 @@ else all: $(TARGET) $(TARGET): $(OBJECTS) -ifeq ($(STATIC_LINKING_LINK),1) +ifeq ($(platform), emscripten) + $(CC) $(CFLAGS) $(OBJOUT)$@ $^ +else ifeq ($(STATIC_LINKING_LINK),1) ifneq (,$(findstring msvc,$(platform))) $(LD) $(LINKOUT)$@ $(OBJECTS) else @@ -483,6 +513,15 @@ else $(CC) $(fpic) $(SHARED) $(INCFLAGS) $(LDFLAGS) $(OBJOUT)$@ $(OBJECTS) $(LIBM) endif +ifeq ($(platform),nintendoc) + @echo "** BUILDING HAKCHI HMOD PACKAGE **" + mkdir -p hakchi/etc/libretro/core/ hakchi/etc/libretro/info/ hakchi/etc/preinit.d/ + rm -f hakchi/etc/libretro/info/* + cp $(TARGET_NAME)_libretro.so hakchi/etc/libretro/core/ + cd hakchi/etc/libretro/info/; wget https://buildbot.libretro.com/assets/frontend/info/$(TARGET_NAME)_libretro.info + cd hakchi/; tar -czvf "CORE_$(TARGET_NAME).hmod" * +endif + %.o: %.c $(CC) $(INCFLAGS) $(CFLAGS) -c $(OBJOUT)$@ $< @@ -490,7 +529,7 @@ clean-objs: rm -rf $(OBJECTS) clean: - rm -f $(OBJECTS) $(TARGET) + rm -f $(OBJECTS) $(TARGET) hakchi/CORE_$(TARGET_NAME).hmod .PHONY: clean endif diff --git a/libretroBuildSystem/Makefile.libretro.withoutMacFix b/libretroBuildSystem/Makefile.libretro.withoutMacFix new file mode 100644 index 0000000..866c47b --- /dev/null +++ b/libretroBuildSystem/Makefile.libretro.withoutMacFix @@ -0,0 +1,534 @@ +DEBUG=0 +GIT_VERSION := " $(shell git rev-parse --short HEAD)" +HAVE_GRIFFIN=0 +STATIC_LINKING=0 +STATIC_LINKING_LINK=0 +LAGFIX=1 + +CORE_DIR := . +BUILD_DIR = build +OBJOUT = -o + +ifeq ($(platform),android_arm64-v8a) +include $(BUILD_DIR)/Makefile.android_arm64-v8a +else ifeq ($(platform),android_armeabi) +include $(BUILD_DIR)/Makefile.android_armeabi +else ifeq ($(platform),android_armeabi-v7a) +include $(BUILD_DIR)/Makefile.android_armeabi-v7a +else ifeq ($(platform),android_mips) +include $(BUILD_DIR)/Makefile.android_mips +else ifeq ($(platform),android_mips64) +include $(BUILD_DIR)/Makefile.android_mips64 +else ifeq ($(platform),android_x86) +include $(BUILD_DIR)/Makefile.android_x86 +else ifeq ($(platform),android_x86_64) +include $(BUILD_DIR)/Makefile.android_x86_64 +else ifeq ($(platform),linux-portable_x86) +include $(BUILD_DIR)/Makefile.linux-portable_x86 +else ifeq ($(platform),linux-portable_x86_64) +include $(BUILD_DIR)/Makefile.linux-portable_x86_64 +else ifeq ($(platform),linux_x86) +include $(BUILD_DIR)/Makefile.linux_x86 +else ifeq ($(platform),linux_x86_64) +include $(BUILD_DIR)/Makefile.linux_x86_64 +else ifeq ($(platform),mingw_x86) +include $(BUILD_DIR)/Makefile.mingw_x86 +else ifeq ($(platform),mingw_x86_64) +include $(BUILD_DIR)/Makefile.mingw_x86_64 +else ifeq ($(platform),wii_ppc) +include $(BUILD_DIR)/Makefile.wii_ppc +else ifeq ($(platform),windows_x86) +include $(BUILD_DIR)/Makefile.windows_x86 +else ifeq ($(platform),windows_msvc2003_x86) +include $(BUILD_DIR)/Makefile.windows_msvc2003_x86 +else ifeq ($(platform),windows_msvc2005_x86) +include $(BUILD_DIR)/Makefile.windows_msvc2005_x86 +else ifeq ($(platform),windows_msvc2010_x86) +include $(BUILD_DIR)/Makefile.windows_msvc2010_x86 +else ifeq ($(platform),windows_msvc2010_x64) +include $(BUILD_DIR)/Makefile.windows_msvc2010_x64 +else ifeq ($(platform),windows_msvc2015_x64) +include $(BUILD_DIR)/Makefile.windows_msvc2015_x64 +else ifeq ($(platform),windows_x86_64) +include $(BUILD_DIR)/Makefile.windows_x86_64 +else + +ifeq ($(platform),) +ifeq ($(shell uname -a),) + platform = win +else ifneq ($(findstring MINGW,$(shell uname -a)),) + platform = win +else ifneq ($(findstring Darwin,$(shell uname -a)),) + platform = osx +else ifneq ($(findstring win,$(shell uname -a)),) + platform = win +else + platform = unix +endif +endif + +SPACE := +SPACE := $(SPACE) $(SPACE) +BACKSLASH := +BACKSLASH := \$(BACKSLASH) +filter_out1 = $(filter-out $(firstword $1),$1) +filter_out2 = $(call filter_out1,$(call filter_out1,$1)) +unixpath = $(subst \,/,$1) +unixcygpath = /$(subst :,,$(call unixpath,$1)) + +# system platform +system_platform = unix +ifeq ($(shell uname -a),) + EXE_EXT = .exe + system_platform = win +else ifneq ($(findstring Darwin,$(shell uname -a)),) + system_platform = osx +ifeq ($(shell uname -p),powerpc) + arch = ppc +else + arch = intel +endif +else ifneq ($(findstring MINGW,$(shell uname -a)),) + system_platform = win +endif + +#CC = gcc +TARGET_NAME := mu +LIBM = -lm + +ifeq ($(STATIC_LINKING),1) +EXT=a + +ifeq ($(platform), unix) +PLAT=_unix +STATIC_LINKING=1 +STATIC_LINKING_LINK=1 +endif +endif + +# UNIX +ifeq ($(platform), unix) + EXT ?= so + TARGET := $(TARGET_NAME)_libretro$(PLAT).$(EXT) + fpic := -fPIC + SHARED := -shared -Wl,--version-script=build/link.T +ifneq ($(findstring Haiku,$(shell uname -a)),) + LIBM := +endif + +# Linux (portable library) +else ifeq ($(platform), linux-portable) + EXT ?= so + TARGET := $(TARGET_NAME)_libretro.$(EXT) + fpic := -fPIC -nostdlib + SHARED := -shared -Wl,--version-script=build/link.T + LIBM := + +# OS X +else ifeq ($(platform), osx) + EXT ?= dylib + TARGET := $(TARGET_NAME)_libretro.$(EXT) + fpic := -fPIC +ifeq ($(arch),ppc) + CFLAGS += -D__ppc__ -DMSB_FIRST +endif + OSXVER = `sw_vers -productVersion | cut -d. -f 2` + OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"` + fpic += -mmacosx-version-min=10.1 + SHARED := -dynamiclib + +# iOS +else ifneq (,$(findstring ios,$(platform))) + EXT ?= dylib + TARGET := $(TARGET_NAME)_libretro_ios.$(EXT) + fpic := -fPIC + SHARED := -dynamiclib + +ifeq ($(IOSSDK),) + IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path) +endif + +ifeq ($(platform),ios-arm64) + CC = cc -arch arm64 -isysroot $(IOSSDK) +else + CC = cc -arch armv7 -isysroot $(IOSSDK) +endif + + LD = armv7-apple-darwin11-ld + CFLAGS += -DIOS +ifeq ($(platform),$(filter $(platform),ios9 ios-arm64)) +CC += -miphoneos-version-min=8.0 +CFLAGS += -miphoneos-version-min=8.0 +else +CC += -miphoneos-version-min=5.0 +CFLAGS += -miphoneos-version-min=5.0 +endif + +# Theos iOS +else ifeq ($(platform), theos_ios) +DEPLOYMENT_IOSVERSION = 5.0 +TARGET = iphone:latest:$(DEPLOYMENT_IOSVERSION) +ARCHS = armv7 armv7s +TARGET_IPHONEOS_DEPLOYMENT_VERSION=$(DEPLOYMENT_IOSVERSION) +THEOS_BUILD_DIR := objs +include $(THEOS)/makefiles/common.mk + +LIBRARY_NAME = $(TARGET_NAME)_libretro_ios +HAVE_GRIFFIN = 1 + + +# QNX +else ifeq ($(platform), qnx) + EXT ?= so + TARGET := $(TARGET_NAME)_libretro_qnx.$(EXT) + fpic := -fPIC + SHARED := -shared -Wl,--version-script=build/link.T + + CC = qcc -Vgcc_ntoarmv7le + AR = qcc -Vgcc_ntoarmv7le + CFLAGS += -D__BLACKBERRY_QNX__ + +# PS3 +else ifeq ($(platform), ps3) + EXT=a + TARGET := $(TARGET_NAME)_libretro_ps3.$(EXT) + CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc.exe + AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar.exe + CFLAGS += -D__ppc__ -DMSB_FIRST + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# PS3 (SNC) +else ifeq ($(platform), sncps3) + EXT=a + TARGET := $(TARGET_NAME)_libretro_ps3.$(EXT) + CC = $(CELL_SDK)/host-win32/sn/bin/ps3ppusnc.exe + AR = $(CELL_SDK)/host-win32/sn/bin/ps3snarl.exe + CFLAGS += -D__ppc__ -DMSB_FIRST + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# Lightweight PS3 Homebrew SDK +else ifeq ($(platform), psl1ght) + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + CC = $(PS3DEV)/ppu/bin/ppu-gcc$(EXE_EXT) + AR = $(PS3DEV)/ppu/bin/ppu-ar$(EXE_EXT) + CFLAGS += -D__ppc__ -DMSB_FIRST + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# PSP +else ifeq ($(platform), psp1) + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + CC = psp-gcc$(EXE_EXT) + AR = psp-ar$(EXE_EXT) + CFLAGS += -DPSP -G0 + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# DOS +else ifeq ($(platform), dos) + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + CC = i686-pc-msdosdjgpp-gcc + AR = i686-pc-msdosdjgpp-ar + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + CFLAGS += -march=i386 + +# Vita +else ifeq ($(platform), vita) + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + CC = arm-vita-eabi-gcc$(EXE_EXT) + AR = arm-vita-eabi-ar$(EXE_EXT) + CFLAGS += -DVITA + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# CTR (3DS) +else ifeq ($(platform), ctr) + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + CC = $(DEVKITARM)/bin/arm-none-eabi-gcc$(EXE_EXT) + AR = $(DEVKITARM)/bin/arm-none-eabi-ar$(EXE_EXT) + CFLAGS += -DARM11 -D_3DS + CFLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard + CFLAGS += -Wall -mword-relocations + CFLAGS += -fomit-frame-pointer -ffast-math + CFLAGS += -D_3DS + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# Raspberry Pi 2 +else ifeq ($(platform), rpi2) + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC + SHARED := -shared -Wl,--version-script=build/link.T -Wl,--no-undefined + CFLAGS += -DARM + CFLAGS += -marm -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations + CFLAGS += -fomit-frame-pointer -ffast-math + HAVE_NEON = 1 + +# Raspberry Pi 3 +else ifeq ($(platform), rpi3) + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC + SHARED := -shared -Wl,--version-script=build/link.T -Wl,--no-undefined + CFLAGS += -DARM + CFLAGS += -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard -funsafe-math-optimizations + CFLAGS += -fomit-frame-pointer -ffast-math + HAVE_NEON = 1 + +# Xbox 360 +else ifeq ($(platform), xenon) + EXT=a + TARGET := $(TARGET_NAME)_libretro_xenon360.$(EXT) + CC = xenon-gcc$(EXE_EXT) + AR = xenon-ar$(EXE_EXT) + CFLAGS += -D__LIBXENON__ -m32 -D__ppc__ + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# Nintendo Classics (Hakchi) +else ifeq ($(platform), nintendoc) + TARGET := $(TARGET_NAME)_libretro.so + fpic := -fPIC + SHARED := -shared -Wl,--version-script=build/link.T -Wl,--no-undefined + CFLAGS += -DARM + CFLAGS += -marm -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard -funsafe-math-optimizations + CFLAGS += -fomit-frame-pointer -ffast-math + HAVE_NEON = 1 + +# Nintendo Game Cube +else ifeq ($(platform), ngc) + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) + AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT) + CFLAGS += -DGEKKO -DHW_DOL -mrvl -mcpu=750 -meabi -mhard-float -D__ppc__ -DMSB_FIRST + CFLAGS += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# Nintendo Wii +else ifeq ($(platform), wii) + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) + AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT) + CFLAGS += -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float -D__ppc__ -DMSB_FIRST + CFLAGS += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# Nintendo WiiU +else ifeq ($(platform), wiiu) + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) + AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT) + CFLAGS += -DGEKKO -DHW_RVL -mwup -mcpu=750 -meabi -mhard-float -D__ppc__ -DMSB_FIRST + CFLAGS += -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# ARM +else ifneq (,$(findstring armv,$(platform))) + EXT ?= so + TARGET := $(TARGET_NAME)_libretro.$(EXT) + SHARED := -shared -Wl,--no-undefined + fpic := -fPIC + CC ?= gcc +ifneq (,$(findstring cortexa8,$(platform))) + CFLAGS += -marm -mcpu=cortex-a8 + ASFLAGS += -mcpu=cortex-a8 +else ifneq (,$(findstring cortexa9,$(platform))) + CFLAGS += -marm -mcpu=cortex-a9 + ASFLAGS += -mcpu=cortex-a9 + endif + CFLAGS += -marm +ifneq (,$(findstring neon,$(platform))) + CFLAGS += -mfpu=neon + ASFLAGS += -mfpu=neon + HAVE_NEON = 1 +endif +ifneq (,$(findstring softfloat,$(platform))) + CFLAGS += -mfloat-abi=softfp + ASFLAGS += -mfloat-abi=softfp +else ifneq (,$(findstring hardfloat,$(platform))) + CFLAGS += -mfloat-abi=hard + ASFLAGS += -mfloat-abi=hard +endif + CFLAGS += -DARM + +# Emscripten +else ifeq ($(platform), emscripten) + TARGET := $(TARGET_NAME)_libretro_emscripten.bc + STATIC_LINKING=1 + +# GCW0 +else ifeq ($(platform), gcw0) + TARGET := $(TARGET_NAME)_libretro.so + CC = /opt/gcw0-toolchain/usr/bin/mipsel-linux-gcc + CXX = /opt/gcw0-toolchain/usr/bin/mipsel-linux-g++ + AR = /opt/gcw0-toolchain/usr/bin/mipsel-linux-ar + SHARED := -shared -Wl,--version-script=build/link.T + fpic := -fPIC + CFLAGS += $(PTHREAD_FLAGS) + CFLAGS += -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float + +else ifeq ($(platform), msvc) + OBJOUT = -Fo + +# Nintendo Switch (libtransistor) +else ifeq ($(platform), switch) + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + include $(LIBTRANSISTOR_HOME)/libtransistor.mk + STATIC_LINKING=1 + STATIC_LINKING_LINK=1 + +# Nintendo Switch (libnx) +else ifeq ($(platform), libnx) + include $(DEVKITPRO)/libnx/switch_rules + EXT=a + TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) + DEFINES := -DSWITCH=1 -U__linux__ -U__linux -DRARCH_INTERNAL + CFLAGS := $(DEFINES) -g \ + -O3 \ + -fPIE -I$(LIBNX)/include/ -ffunction-sections -fdata-sections -ftls-model=local-exec -Wl,--allow-multiple-definition -specs=$(LIBNX)/switch.specs + CFLAGS += $(INCDIRS) + CFLAGS += $(INCLUDE) -D__SWITCH__ -DARM -march=armv8-a -mtune=cortex-a57 -mtp=soft + CXXFLAGS := $(ASFLAGS) $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 + CFLAGS += -std=gnu11 + STATIC_LINKING = 1 + STATIC_LINKING_LINK=1 + +# Windows MSVC 2003 Xbox 1 +else ifeq ($(platform), xbox1_msvc2003) +TARGET := $(TARGET_NAME)_libretro_xdk1.lib +CC = CL.exe +CXX = CL.exe +LD = lib.exe + +export INCLUDE := $(XDK)\xbox\include +export LIB := $(XDK)\xbox\lib +PATH := $(call unixcygpath,$(XDK)/xbox/bin/vc71):$(PATH) + +PSS_STYLE :=2 +CFLAGS += -D_XBOX -D_XBOX1 +CXXFLAGS += -D_XBOX -D_XBOX1 +STATIC_LINKING=1 +STATIC_LINKING_LINK=1 + + +# Windows +else + EXT ?= dll + TARGET := $(TARGET_NAME)_libretro.$(EXT) + CC = gcc + SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=build/link.T + CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__ + +endif + +ifeq ($(STATIC_LINKING),1) +SHARED= +fpic= +endif + +ifeq ($(DEBUG), 1) + CFLAGS += -O0 -g +else + CFLAGS += -O2 -DNDEBUG -DGIT_VERSION=\"$(GIT_VERSION)\" +endif + +include $(BUILD_DIR)/Makefile.common + +OBJECTS := $(SOURCES_C:.c=.o) + +DEFINES = $(COREDEFINES) + +ifeq ($(STATIC_LINKING),1) +DEFINES += -DSTATIC_LINKING +endif + +ifeq ($(platform), sncps3) + WARNINGS_DEFINES = + CODE_DEFINES = +else ifeq ($(platform), ios) + WARNINGS_DEFINES = + CODE_DEFINES = +else ifneq (,$(findstring msvc,$(platform))) + WARNING_DEFINES = + CODE_DEFINES = +else + WARNINGS_DEFINES = -Wall -W -Wno-unused-parameter -Wno-sign-compare -Wno-uninitialized + CODE_DEFINES = -fomit-frame-pointer +endif + +COMMON_DEFINES += $(CODE_DEFINES) $(WARNINGS_DEFINES) $(fpic) + +CFLAGS += $(DEFINES) $(COMMON_DEFINES) + +ifneq (,$(findstring msvc,$(platform))) + OBJOUT = -Fo + LINKOUT = -out: +ifeq ($(STATIC_LINKING),1) + LD ?= lib.exe + STATIC_LINKING=0 +else + LD = link.exe +endif +else + OBJOUT = -o + LINKOUT = -o + LD = $(CC) +endif + +ifeq ($(platform), theos_ios) +COMMON_FLAGS := -DIOS -DARM $(COMMON_DEFINES) $(INCFLAGS) -I$(THEOS_INCLUDE_PATH) -Wno-error +$(LIBRARY_NAME)_CFLAGS += $(COMMON_FLAGS) +${LIBRARY_NAME}_FILES = $(SOURCES_CXX) $(SOURCES_C) +include $(THEOS_MAKE_PATH)/library.mk +else +all: $(TARGET) + +$(TARGET): $(OBJECTS) +ifeq ($(platform), emscripten) + $(CC) $(CFLAGS) $(OBJOUT)$@ $^ +else ifeq ($(STATIC_LINKING_LINK),1) +ifneq (,$(findstring msvc,$(platform))) + $(LD) $(LINKOUT)$@ $(OBJECTS) +else + $(AR) rcs $@ $(OBJECTS) +endif +else + $(CC) $(fpic) $(SHARED) $(INCFLAGS) $(LDFLAGS) $(OBJOUT)$@ $(OBJECTS) $(LIBM) +endif + +ifeq ($(platform),nintendoc) + @echo "** BUILDING HAKCHI HMOD PACKAGE **" + mkdir -p hakchi/etc/libretro/core/ hakchi/etc/libretro/info/ hakchi/etc/preinit.d/ + rm -f hakchi/etc/libretro/info/* + cp $(TARGET_NAME)_libretro.so hakchi/etc/libretro/core/ + cd hakchi/etc/libretro/info/; wget https://buildbot.libretro.com/assets/frontend/info/$(TARGET_NAME)_libretro.info + cd hakchi/; tar -czvf "CORE_$(TARGET_NAME).hmod" * +endif + +%.o: %.c + $(CC) $(INCFLAGS) $(CFLAGS) -c $(OBJOUT)$@ $< + +clean-objs: + rm -rf $(OBJECTS) + +clean: + rm -f $(OBJECTS) $(TARGET) hakchi/CORE_$(TARGET_NAME).hmod + +.PHONY: clean +endif + +endif diff --git a/libretroBuildSystem/build/Makefile.android_arm64-v8a b/libretroBuildSystem/build/Makefile.android_arm64-v8a index 57addcd..a26cc29 100644 --- a/libretroBuildSystem/build/Makefile.android_arm64-v8a +++ b/libretroBuildSystem/build/Makefile.android_arm64-v8a @@ -2,8 +2,8 @@ # Works on hosts Linux, Windows and Darwin # Download the Android NDK, unpack somewhere, and set NDK_ROOT_DIR to it -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-arm64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = android_arm64-v8a ################# # Toolchain setup @@ -39,13 +34,14 @@ AR = $(NDK_ROOT_DIR)/toolchains/aarch64-linux-android-4.9/prebuilt/$(HOST_PLATF OBJEXT = .android_arm64-v8a.o SOEXT = .android_arm64-v8a.so +LIBEXT = .android_arm64-v8a.a ################ # Platform setup STATIC_LINKING = 0 platform = android -PLATDEFS = -DANDROID -DINLINE=inline -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST +PLATDEFS = -DANDROID -DINLINE=inline -DHAVE_STDINT_H -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST PLATCFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security PLATCXXFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-21/arch-arm64 -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-arm64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/arm64-v8a/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.android_armeabi b/libretroBuildSystem/build/Makefile.android_armeabi index c6168ed..77653be 100644 --- a/libretroBuildSystem/build/Makefile.android_armeabi +++ b/libretroBuildSystem/build/Makefile.android_armeabi @@ -2,8 +2,8 @@ # Works on hosts Linux, Windows and Darwin # Download the Android NDK, unpack somewhere, and set NDK_ROOT_DIR to it -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,40 +16,36 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-3/arch-arm/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = android_armeabi ################# # Toolchain setup -CC = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-gcc -CXX = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-g++ -AS = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-as -AR = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-ar +CC = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-gcc +CXX = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-g++ +AS = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-as +AR = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-ar ############ # Extensions OBJEXT = .android_armeabi.o SOEXT = .android_armeabi.so +LIBEXT = .android_armeabi.a ################ # Platform setup STATIC_LINKING = 0 platform = android -PLATDEFS = -DANDROID -DINLINE=inline -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST +PLATDEFS = -DANDROID -DINLINE=inline -DHAVE_STDINT_H -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST PLATCFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security PLATCXXFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-3/arch-arm -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm -PLATLDXFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-3/arch-arm -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/thumb/libgnustl_static.a +PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-9/arch-arm -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm +PLATLDXFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-9/arch-arm -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/libgnustl_static.a ################ # libretro setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-9/arch-arm/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.android_armeabi-v7a b/libretroBuildSystem/build/Makefile.android_armeabi-v7a index fc2d149..4914ef1 100644 --- a/libretroBuildSystem/build/Makefile.android_armeabi-v7a +++ b/libretroBuildSystem/build/Makefile.android_armeabi-v7a @@ -2,8 +2,8 @@ # Works on hosts Linux, Windows and Darwin # Download the Android NDK, unpack somewhere, and set NDK_ROOT_DIR to it -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,40 +16,36 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-3/arch-arm/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = android_armeabi-v7a ################# # Toolchain setup -CC = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-gcc -CXX = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-g++ -AS = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-as -AR = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-ar +CC = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-gcc +CXX = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-g++ +AS = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-as +AR = $(NDK_ROOT_DIR)/toolchains/arm-linux-androideabi-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/arm-linux-androideabi-ar ############ # Extensions OBJEXT = .android_armeabi-v7a.o SOEXT = .android_armeabi-v7a.so +LIBEXT = .android_armeabi-v7a.a ################ # Platform setup STATIC_LINKING = 0 platform = android -PLATDEFS = -DANDROID -DINLINE=inline -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST +PLATDEFS = -DANDROID -DINLINE=inline -DHAVE_STDINT_H -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST PLATCFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security PLATCXXFLAGS = -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-3/arch-arm -lgcc -no-canonical-prefixes -march=armv7-a -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm -PLATLDXFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-3/arch-arm -lgcc -no-canonical-prefixes -march=armv7-a -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/armeabi-v7a/thumb/libgnustl_static.a +PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-21/arch-arm -lgcc -no-canonical-prefixes -march=armv7-a -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm +PLATLDXFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-21/arch-arm -lgcc -no-canonical-prefixes -march=armv7-a -Wl,--fix-cortex-a8 -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi-v7a/libgnustl_static.a ################ # libretro setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-arm/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/armeabi/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.android_mips b/libretroBuildSystem/build/Makefile.android_mips index 6b3671b..5566d99 100644 --- a/libretroBuildSystem/build/Makefile.android_mips +++ b/libretroBuildSystem/build/Makefile.android_mips @@ -2,8 +2,8 @@ # Works on hosts Linux, Windows and Darwin # Download the Android NDK, unpack somewhere, and set NDK_ROOT_DIR to it -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,40 +16,36 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-9/arch-mips/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = android_mips ################# # Toolchain setup -CC = $(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/mipsel-linux-android-gcc -CXX = $(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/mipsel-linux-android-g++ -AS = $(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/mipsel-linux-android-as -AR = $(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/mipsel-linux-android-ar +CC = $(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/mipsel-linux-android-gcc +CXX = $(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/mipsel-linux-android-g++ +AS = $(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/mipsel-linux-android-as +AR = $(NDK_ROOT_DIR)/toolchains/mipsel-linux-android-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/mipsel-linux-android-ar ############ # Extensions OBJEXT = .android_mips.o SOEXT = .android_mips.so +LIBEXT = .android_mips.a ################ # Platform setup STATIC_LINKING = 0 platform = android -PLATDEFS = -DANDROID -DINLINE=inline -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST +PLATDEFS = -DANDROID -DINLINE=inline -DHAVE_STDINT_H -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST PLATCFLAGS = -fpic -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -no-canonical-prefixes -fomit-frame-pointer -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security PLATCXXFLAGS = -fpic -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -no-canonical-prefixes -fomit-frame-pointer -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-9/arch-mips -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm -PLATLDXFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-9/arch-mips -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/mips/libgnustl_static.a +PLATLDXFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-9/arch-mips -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips/libgnustl_static.a ################ # libretro setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-9/arch-mips/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.android_mips64 b/libretroBuildSystem/build/Makefile.android_mips64 index 04694cb..4b25c23 100644 --- a/libretroBuildSystem/build/Makefile.android_mips64 +++ b/libretroBuildSystem/build/Makefile.android_mips64 @@ -2,8 +2,8 @@ # Works on hosts Linux, Windows and Darwin # Download the Android NDK, unpack somewhere, and set NDK_ROOT_DIR to it -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-mips64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = android_mips64 ################# # Toolchain setup @@ -39,13 +34,14 @@ AR = $(NDK_ROOT_DIR)/toolchains/mips64el-linux-android-4.9/prebuilt/$(HOST_PLAT OBJEXT = .android_mips64.o SOEXT = .android_mips64.so +LIBEXT = .android_mips64.a ################ # Platform setup STATIC_LINKING = 0 platform = android -PLATDEFS = -DANDROID -DINLINE=inline -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST +PLATDEFS = -DANDROID -DINLINE=inline -DHAVE_STDINT_H -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST PLATCFLAGS = -fpic -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -no-canonical-prefixes -fomit-frame-pointer -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security PLATCXXFLAGS = -fpic -fno-strict-aliasing -finline-functions -ffunction-sections -funwind-tables -fmessage-length=0 -fno-inline-functions-called-once -fgcse-after-reload -frerun-cse-after-loop -frename-registers -no-canonical-prefixes -fomit-frame-pointer -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-21/arch-mips64 -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-mips64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/mips64/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.android_x86 b/libretroBuildSystem/build/Makefile.android_x86 index 129c639..6ac4857 100644 --- a/libretroBuildSystem/build/Makefile.android_x86 +++ b/libretroBuildSystem/build/Makefile.android_x86 @@ -2,8 +2,8 @@ # Works on hosts Linux, Windows and Darwin # Download the Android NDK, unpack somewhere, and set NDK_ROOT_DIR to it -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,40 +16,36 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-9/arch-x86/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/include/backward - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = android_x86 ################# # Toolchain setup -CC = $(NDK_ROOT_DIR)/toolchains/x86-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/i686-linux-android-gcc -CXX = $(NDK_ROOT_DIR)/toolchains/x86-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/i686-linux-android-g++ -AS = $(NDK_ROOT_DIR)/toolchains/x86-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/i686-linux-android-as -AR = $(NDK_ROOT_DIR)/toolchains/x86-4.8/prebuilt/$(HOST_PLATFORM)-x86_64/bin/i686-linux-android-ar +CC = $(NDK_ROOT_DIR)/toolchains/x86-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/i686-linux-android-gcc +CXX = $(NDK_ROOT_DIR)/toolchains/x86-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/i686-linux-android-g++ +AS = $(NDK_ROOT_DIR)/toolchains/x86-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/i686-linux-android-as +AR = $(NDK_ROOT_DIR)/toolchains/x86-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin/i686-linux-android-ar ############ # Extensions OBJEXT = .android_x86.o SOEXT = .android_x86.so +LIBEXT = .android_x86.a ################ # Platform setup STATIC_LINKING = 0 platform = android -PLATDEFS = -DANDROID -DINLINE=inline -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST +PLATDEFS = -DANDROID -DINLINE=inline -DHAVE_STDINT_H -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST PLATCFLAGS = -ffunction-sections -funwind-tables -no-canonical-prefixes -fstack-protector -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security PLATCXXFLAGS = -ffunction-sections -funwind-tables -no-canonical-prefixes -fstack-protector -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-9/arch-x86 -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm -PLATLDXFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-9/arch-x86 -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86/libgnustl_static.a +PLATLDXFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-9/arch-x86 -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm $(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_static.a ################ # libretro setup @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-9/arch-x86/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.android_x86_64 b/libretroBuildSystem/build/Makefile.android_x86_64 index d376fa4..dca601b 100644 --- a/libretroBuildSystem/build/Makefile.android_x86_64 +++ b/libretroBuildSystem/build/Makefile.android_x86_64 @@ -2,8 +2,8 @@ # Works on hosts Linux, Windows and Darwin # Download the Android NDK, unpack somewhere, and set NDK_ROOT_DIR to it -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-x86_64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = android_x86_64 ################# # Toolchain setup @@ -39,13 +34,14 @@ AR = $(NDK_ROOT_DIR)/toolchains/x86_64-4.9/prebuilt/$(HOST_PLATFORM)-x86_64/bin OBJEXT = .android_x86_64.o SOEXT = .android_x86_64.so +LIBEXT = .android_x86_64.a ################ # Platform setup STATIC_LINKING = 0 platform = android -PLATDEFS = -DANDROID -DINLINE=inline -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST +PLATDEFS = -DANDROID -DINLINE=inline -DHAVE_STDINT_H -DBSPF_UNIX -DHAVE_INTTYPES -DLSB_FIRST PLATCFLAGS = -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security PLATCXXFLAGS = -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -fomit-frame-pointer -fstrict-aliasing -funswitch-loops -finline-limit=300 -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti PLATLDFLAGS = -shared --sysroot=$(NDK_ROOT_DIR)/platforms/android-21/arch-x86_64 -lgcc -no-canonical-prefixes -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -lc -lm @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = -I$(NDK_ROOT_DIR)/platforms/android-21/arch-x86_64/usr/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86_64/include -I$(NDK_ROOT_DIR)/sources/cxx-stl/gnu-libstdc++/4.9/include/backward + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.common b/libretroBuildSystem/build/Makefile.common index 529adfa..6234d56 100644 --- a/libretroBuildSystem/build/Makefile.common +++ b/libretroBuildSystem/build/Makefile.common @@ -6,9 +6,10 @@ INCFLAGS := -I$(LIBRETRO_COMM_DIR)/include ifneq (,$(findstring msvc2003,$(platform))) INCFLAGS += -I$(LIBRETRO_COMM_DIR)/include/compat/msvc -endif +endif include $(EMU_PATH)/makefile.all - + SOURCES_C := $(CORE_DIR)/libretro.c \ + $(CORE_DIR)/cursors.c \ $(EMU_SOURCES_C) diff --git a/libretroBuildSystem/build/Makefile.linux-portable_x86 b/libretroBuildSystem/build/Makefile.linux-portable_x86 index 20da6c0..61c0690 100644 --- a/libretroBuildSystem/build/Makefile.linux-portable_x86 +++ b/libretroBuildSystem/build/Makefile.linux-portable_x86 @@ -2,8 +2,8 @@ # Works on hosts Linux # apt-get install g++-multilib libc6-dev-i386 -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = linux-portable_x86 ################# # Toolchain setup @@ -39,6 +34,7 @@ AR = ar OBJEXT = .linux-portable_x86.o SOEXT = .linux-portable_x86.so +LIBEXT = .linux-portable_x86.a ################ # Platform setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.linux-portable_x86_64 b/libretroBuildSystem/build/Makefile.linux-portable_x86_64 index 1ca6fc5..ecfbcf5 100644 --- a/libretroBuildSystem/build/Makefile.linux-portable_x86_64 +++ b/libretroBuildSystem/build/Makefile.linux-portable_x86_64 @@ -2,8 +2,8 @@ # Works on hosts Linux # -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = linux-portable_x86_64 ################# # Toolchain setup @@ -39,6 +34,7 @@ AR = ar OBJEXT = .linux-portable_x86_64.o SOEXT = .linux-portable_x86_64.so +LIBEXT = .linux-portable_x86_64.a ################ # Platform setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.linux_x86 b/libretroBuildSystem/build/Makefile.linux_x86 index c4fbfe7..68b5fa8 100644 --- a/libretroBuildSystem/build/Makefile.linux_x86 +++ b/libretroBuildSystem/build/Makefile.linux_x86 @@ -2,8 +2,8 @@ # Works on hosts Linux # apt-get install g++-multilib libc6-dev-i386 -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = linux_x86 ################# # Toolchain setup @@ -39,6 +34,7 @@ AR = ar OBJEXT = .linux_x86.o SOEXT = .linux_x86.so +LIBEXT = .linux_x86.a ################ # Platform setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.linux_x86_64 b/libretroBuildSystem/build/Makefile.linux_x86_64 index b1a2717..7a304bd 100644 --- a/libretroBuildSystem/build/Makefile.linux_x86_64 +++ b/libretroBuildSystem/build/Makefile.linux_x86_64 @@ -2,8 +2,8 @@ # Works on hosts Linux # -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = linux_x86_64 ################# # Toolchain setup @@ -39,6 +34,7 @@ AR = ar OBJEXT = .linux_x86_64.o SOEXT = .linux_x86_64.so +LIBEXT = .linux_x86_64.a ################ # Platform setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.mingw_x86 b/libretroBuildSystem/build/Makefile.mingw_x86 index aaae772..3c286f6 100644 --- a/libretroBuildSystem/build/Makefile.mingw_x86 +++ b/libretroBuildSystem/build/Makefile.mingw_x86 @@ -2,8 +2,8 @@ # Works on hosts Windows # Install MSYS2 -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = mingw_x86 ################# # Toolchain setup @@ -39,6 +34,7 @@ AR = ar OBJEXT = .mingw_x86.o SOEXT = .mingw_x86.dll +LIBEXT = .mingw_x86.a ################ # Platform setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.mingw_x86_64 b/libretroBuildSystem/build/Makefile.mingw_x86_64 index 3e0a3c9..45dbdfd 100644 --- a/libretroBuildSystem/build/Makefile.mingw_x86_64 +++ b/libretroBuildSystem/build/Makefile.mingw_x86_64 @@ -2,8 +2,8 @@ # Works on hosts Windows # Install MSYS2 -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = mingw_x86_64 ################# # Toolchain setup @@ -39,6 +34,7 @@ AR = ar OBJEXT = .mingw_x86_64.o SOEXT = .mingw_x86_64.dll +LIBEXT = .mingw_x86_64.a ################ # Platform setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.osx_x86 b/libretroBuildSystem/build/Makefile.osx_x86 new file mode 100644 index 0000000..602031a --- /dev/null +++ b/libretroBuildSystem/build/Makefile.osx_x86 @@ -0,0 +1,96 @@ +############## +# Works on hosts Linux +# Compile and install OSXCROSS: https://github.com/tpoechtrager/osxcross + +######################### +# Check the host platform + +HOST_PLATFORM = linux +ifeq ($(shell uname -a),) + HOST_PLATFORM = windows +else ifneq ($(findstring MINGW,$(shell uname -a)),) + HOST_PLATFORM = windows +else ifneq ($(findstring Darwin,$(shell uname -a)),) + HOST_PLATFORM = darwin +else ifneq ($(findstring win,$(shell uname -a)),) + HOST_PLATFORM = windows +endif + +######################### +# Set the target platform + +TARGET_PLATFORM = osx_x86 + +################# +# Toolchain setup + +CC = $(OSXCROSS_ROOT_DIR)/target/bin/i386-apple-darwin13-cc +CXX = $(OSXCROSS_ROOT_DIR)/target/bin/i386-apple-darwin13-c++ +AS = $(OSXCROSS_ROOT_DIR)/target/bin/i386-apple-darwin13-as +AR = $(OSXCROSS_ROOT_DIR)/target/bin/i386-apple-darwin13-ar + +############ +# Extensions + +OBJEXT = .osx_x86.o +SOEXT = .osx_x86.dylib +LIBEXT = .osx_x86.a + +################ +# Platform setup + +STATIC_LINKING = 0 +platform = osx +PLATDEFS = +PLATCFLAGS = -fstrict-aliasing +PLATCXXFLAGS = -fstrict-aliasing +PLATLDFLAGS = -shared -lm +PLATLDXFLAGS = -shared -lm + +################ +# libretro setup + +RETRODEFS = -D__LIBRETRO__ +RETROCFLAGS = +RETROCXXFLAGS = +RETROLDFLAGS = +RETROLDXFLAGS = + +################# +# Final variables + +DEFINES = $(PLATDEFS) $(RETRODEFS) +CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) +CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) +LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) +LDXFLAGS = $(PLATLDXFLAGS) $(RETROLDXFLAGS) + +######## +# Tuning + +ifneq ($(DEBUG),) + CFLAGS += -O0 -g + CXXFLAGS += -O0 -g +else + CFLAGS += -O3 -DNDEBUG + CXXFLAGS += -O3 -DNDEBUG +endif + +ifneq ($(LOG_PERFORMANCE),) + CFLAGS += -DLOG_PERFORMANCE + CXXFLAGS += -DLOG_PERFORMANCE +endif + +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + +############### +# Include rules + +include $(BUILD_DIR)/Makefile.rules diff --git a/libretroBuildSystem/build/Makefile.osx_x86_64 b/libretroBuildSystem/build/Makefile.osx_x86_64 new file mode 100644 index 0000000..1329aa0 --- /dev/null +++ b/libretroBuildSystem/build/Makefile.osx_x86_64 @@ -0,0 +1,96 @@ +############## +# Works on hosts Linux +# Compile and install OSXCROSS: https://github.com/tpoechtrager/osxcross + +######################### +# Check the host platform + +HOST_PLATFORM = linux +ifeq ($(shell uname -a),) + HOST_PLATFORM = windows +else ifneq ($(findstring MINGW,$(shell uname -a)),) + HOST_PLATFORM = windows +else ifneq ($(findstring Darwin,$(shell uname -a)),) + HOST_PLATFORM = darwin +else ifneq ($(findstring win,$(shell uname -a)),) + HOST_PLATFORM = windows +endif + +######################### +# Set the target platform + +TARGET_PLATFORM = osx_x86_64 + +################# +# Toolchain setup + +CC = $(OSXCROSS_ROOT_DIR)/target/bin/x86_64-apple-darwin13-cc +CXX = $(OSXCROSS_ROOT_DIR)/target/bin/x86_64-apple-darwin13-c++ +AS = $(OSXCROSS_ROOT_DIR)/target/bin/x86_64-apple-darwin13-as +AR = $(OSXCROSS_ROOT_DIR)/target/bin/x86_64-apple-darwin13-ar + +############ +# Extensions + +OBJEXT = .osx_x86_64.o +SOEXT = .osx_x86_64.dylib +LIBEXT = .osx_x86_64.a + +################ +# Platform setup + +STATIC_LINKING = 0 +platform = osx +PLATDEFS = +PLATCFLAGS = -fpic -fstrict-aliasing +PLATCXXFLAGS = -fpic -fstrict-aliasing +PLATLDFLAGS = -shared -lm +PLATLDXFLAGS = -shared -lm + +################ +# libretro setup + +RETRODEFS = -D__LIBRETRO__ +RETROCFLAGS = +RETROCXXFLAGS = +RETROLDFLAGS = +RETROLDXFLAGS = + +################# +# Final variables + +DEFINES = $(PLATDEFS) $(RETRODEFS) +CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) +CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) +LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) +LDXFLAGS = $(PLATLDXFLAGS) $(RETROLDXFLAGS) + +######## +# Tuning + +ifneq ($(DEBUG),) + CFLAGS += -O0 -g + CXXFLAGS += -O0 -g +else + CFLAGS += -O3 -DNDEBUG + CXXFLAGS += -O3 -DNDEBUG +endif + +ifneq ($(LOG_PERFORMANCE),) + CFLAGS += -DLOG_PERFORMANCE + CXXFLAGS += -DLOG_PERFORMANCE +endif + +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + +############### +# Include rules + +include $(BUILD_DIR)/Makefile.rules diff --git a/libretroBuildSystem/build/Makefile.ps3_ppc b/libretroBuildSystem/build/Makefile.ps3_ppc new file mode 100644 index 0000000..03ba573 --- /dev/null +++ b/libretroBuildSystem/build/Makefile.ps3_ppc @@ -0,0 +1,96 @@ +############## +# Works on hosts Windows or Linux using Wine +# Install CellSDK + +######################### +# Check the host platform + +HOST_PLATFORM = linux +ifeq ($(shell uname -a),) + HOST_PLATFORM = windows +else ifneq ($(findstring MINGW,$(shell uname -a)),) + HOST_PLATFORM = windows +else ifneq ($(findstring Darwin,$(shell uname -a)),) + HOST_PLATFORM = darwin +else ifneq ($(findstring win,$(shell uname -a)),) + HOST_PLATFORM = windows +endif + +######################### +# Set the target platform + +TARGET_PLATFORM = ps3_ppc + +################# +# Toolchain setup + +CC = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-gcc +CXX = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-g++ +AS = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-as +AR = $(CELL_SDK)/host-win32/ppu/bin/ppu-lv2-ar + +############ +# Extensions + +OBJEXT = .ps3_ppc.o +SOEXT = .ps3_ppc.so +LIBEXT = .ps3_ppc.a + +################ +# Platform setup + +STATIC_LINKING = 1 +platform = ps3 +PLATDEFS = -D__CELLOS_LV2__ +PLATCFLAGS = -DMSB_FIRST -DWORDS_BIGENDIAN=1 +PLATCXXFLAGS = -DMSB_FIRST -DWORDS_BIGENDIAN=1 +PLATLDFLAGS = -shared -lm +PLATLDXFLAGS = -shared -lm + +################ +# libretro setup + +RETRODEFS = -D__LIBRETRO__ +RETROCFLAGS = +RETROCXXFLAGS = +RETROLDFLAGS = +RETROLDXFLAGS = + +################# +# Final variables + +DEFINES = $(PLATDEFS) $(RETRODEFS) +CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) +CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) +LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) +LDXFLAGS = $(PLATLDXFLAGS) $(RETROLDXFLAGS) + +######## +# Tuning + +ifneq ($(DEBUG),) + CFLAGS += -O0 -g + CXXFLAGS += -O0 -g +else + CFLAGS += -O3 -DNDEBUG + CXXFLAGS += -O3 -DNDEBUG +endif + +ifneq ($(LOG_PERFORMANCE),) + CFLAGS += -DLOG_PERFORMANCE + CXXFLAGS += -DLOG_PERFORMANCE +endif + +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + +############### +# Include rules + +include $(BUILD_DIR)/Makefile.rules diff --git a/libretroBuildSystem/build/Makefile.vita_arm b/libretroBuildSystem/build/Makefile.vita_arm new file mode 100644 index 0000000..557ef95 --- /dev/null +++ b/libretroBuildSystem/build/Makefile.vita_arm @@ -0,0 +1,96 @@ +############## +# Works on hosts Linux +# Install vitasdk + +######################### +# Check the host platform + +HOST_PLATFORM = linux +ifeq ($(shell uname -a),) + HOST_PLATFORM = windows +else ifneq ($(findstring MINGW,$(shell uname -a)),) + HOST_PLATFORM = windows +else ifneq ($(findstring Darwin,$(shell uname -a)),) + HOST_PLATFORM = darwin +else ifneq ($(findstring win,$(shell uname -a)),) + HOST_PLATFORM = windows +endif + +######################### +# Set the target platform + +TARGET_PLATFORM = vita_arm + +################# +# Toolchain setup + +CC = $(VITASDK)/bin/arm-vita-eabi-gcc +CXX = $(VITASDK)/bin/arm-vita-eabi-g++ +AS = $(VITASDK)/bin/arm-vita-eabi-as +AR = $(VITASDK)/bin/arm-vita-eabi-ar + +############ +# Extensions + +OBJEXT = .vita_arm.o +SOEXT = .vita_arm.so +LIBEXT = .vita_arm.a + +################ +# Platform setup + +STATIC_LINKING = 1 +platform = vita +PLATDEFS = -DVITA +PLATCFLAGS = -ftree-vectorize -mfloat-abi=hard -ffast-math -fsingle-precision-constant -funroll-loops -fno-short-enums +PLATCXXFLAGS = -ftree-vectorize -mfloat-abi=hard -ffast-math -fsingle-precision-constant -funroll-loops -fno-short-enums +PLATLDFLAGS = -shared -lm -mthumb -mcpu=cortex-a9 -mfloat-abi=hard +PLATLDXFLAGS = -shared -lm -mthumb -mcpu=cortex-a9 -mfloat-abi=hard + +################ +# libretro setup + +RETRODEFS = -D__LIBRETRO__ +RETROCFLAGS = +RETROCXXFLAGS = +RETROLDFLAGS = +RETROLDXFLAGS = + +################# +# Final variables + +DEFINES = $(PLATDEFS) $(RETRODEFS) +CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) +CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) +LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) +LDXFLAGS = $(PLATLDXFLAGS) $(RETROLDXFLAGS) + +######## +# Tuning + +ifneq ($(DEBUG),) + CFLAGS += -O0 -g + CXXFLAGS += -O0 -g +else + CFLAGS += -O3 -DNDEBUG + CXXFLAGS += -O3 -DNDEBUG +endif + +ifneq ($(LOG_PERFORMANCE),) + CFLAGS += -DLOG_PERFORMANCE + CXXFLAGS += -DLOG_PERFORMANCE +endif + +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + +############### +# Include rules + +include $(BUILD_DIR)/Makefile.rules diff --git a/libretroBuildSystem/build/Makefile.wii_ppc b/libretroBuildSystem/build/Makefile.wii_ppc index 9fbca2b..89bd5d1 100644 --- a/libretroBuildSystem/build/Makefile.wii_ppc +++ b/libretroBuildSystem/build/Makefile.wii_ppc @@ -2,8 +2,8 @@ # Works on hosts Linux # Install devkitppc -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = wii_ppc ################# # Toolchain setup @@ -39,6 +34,7 @@ AR = $(DEVKITPPC_ROOT_DIR)/bin/powerpc-eabi-ar OBJEXT = .wii_ppc.o SOEXT = .wii_ppc.so +LIBEXT = .wii_ppc.a ################ # Platform setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.windows_x86 b/libretroBuildSystem/build/Makefile.windows_x86 index 0b49a3d..4894030 100644 --- a/libretroBuildSystem/build/Makefile.windows_x86 +++ b/libretroBuildSystem/build/Makefile.windows_x86 @@ -2,8 +2,8 @@ # Works on hosts Linux # apt-get install mingw-w64 -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = windows_x86 ################# # Toolchain setup @@ -39,6 +34,7 @@ AR = i686-w64-mingw32-ar OBJEXT = .windows_x86.o SOEXT = .windows_x86.dll +LIBEXT = .windows_x86.a ################ # Platform setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/build/Makefile.windows_x86_64 b/libretroBuildSystem/build/Makefile.windows_x86_64 index c06549c..4d61da7 100644 --- a/libretroBuildSystem/build/Makefile.windows_x86_64 +++ b/libretroBuildSystem/build/Makefile.windows_x86_64 @@ -2,8 +2,8 @@ # Works on hosts Linux # apt-get install mingw-w64 -########################## -# Checks the host platform +######################### +# Check the host platform HOST_PLATFORM = linux ifeq ($(shell uname -a),) @@ -16,15 +16,10 @@ else ifneq ($(findstring win,$(shell uname -a)),) HOST_PLATFORM = windows endif +######################### +# Set the target platform -#################################### -# Variable setup for Makefile.common - -CORE_DIR ?= .. -BUILD_DIR ?= . -INCLUDES = - -include $(BUILD_DIR)/Makefile.common +TARGET_PLATFORM = windows_x86_64 ################# # Toolchain setup @@ -39,6 +34,7 @@ AR = x86_64-w64-mingw32-ar OBJEXT = .windows_x86_64.o SOEXT = .windows_x86_64.dll +LIBEXT = .windows_x86_64.a ################ # Platform setup @@ -63,7 +59,7 @@ RETROLDXFLAGS = ################# # Final variables -DEFINES = $(PLATDEFS) $(COREDEFINES) $(RETRODEFS) +DEFINES = $(PLATDEFS) $(RETRODEFS) CFLAGS = $(PLATCFLAGS) $(RETROCFLAGS) $(DEFINES) $(INCLUDES) CXXFLAGS = $(PLATCXXFLAGS) $(RETROCXXFLAGS) $(DEFINES) $(INCLUDES) LDFLAGS = $(PLATLDFLAGS) $(RETROLDFLAGS) @@ -85,6 +81,15 @@ ifneq ($(LOG_PERFORMANCE),) CXXFLAGS += -DLOG_PERFORMANCE endif +#################################### +# Variable setup for Makefile.common + +CORE_DIR ?= .. +BUILD_DIR ?= . +INCLUDES = + +include $(BUILD_DIR)/Makefile.common + ############### # Include rules diff --git a/libretroBuildSystem/cursor16x16.png b/libretroBuildSystem/cursor16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..5124235f64281342734f26c8bce05af995e82df7 GIT binary patch literal 445 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4mJh`2Kmqb6B!s7TRdGHLn;`P9N4(Ubbp>@ zQ0SEtdd7Cxq9J~P_zM1utEc>4mwmfu?iI6b^LsbuM$ZiW`F{4wwKMj+|KA+5vy9n1 z|NhaX+SjN37hWJa{o>o1JN|z#4Eg)%*nTz_*Tbj7*C%}YUGe3Kq{!JF-@_U7wG4cP z|2a%hP;+xTu6QczV?Sfqgo_y_hT9XGFTZtM8g+QlSw_DJ3afv8y3f3)BWWee^3%3A z?#k(3nkm!tu!GfM%GUVrt!b4@E@iTKaE3`XCU89TXt6o1Am#nw*I8=;m9IDb8M_{y znvvjk%LdJ@JOtl z(*HJ}L43nkWlcMsm-v3Y`s?CWd!H+=HKxfV6$E$@Cf zF>sEpf9@~cg2qP$4=!AM{-mh0bbsk@zq@(mi>|+YcxC42AG#kF?zQnF4t6uXl&ph=cEl5%!?4T+q!*T_V0Eft#-x(Mf7(8A5T-G@y GGywp3jnM4? literal 0 HcmV?d00001 diff --git a/libretroBuildSystem/cursor32x32.png b/libretroBuildSystem/cursor32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..66760c4b7451a57817373bfe34ad3a27c9e78a60 GIT binary patch literal 1141 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4mJh`hT^KKFANMUHl8kyAr*{A!kDL|cna9u z{!zRw_jZ-V?QON@8Sl4Pnq4zHZg%V2t+1G|wQJw)tkU0CpPG`E5+=K?z0jvH^QTpr z+8_PLTbdRLJ$WX+PSkVB^vi!AGW$B5IH`SL)6>&|0U=yd-M$}km@J@kb7w;Gy+5oH zRy8cjAMI@IlMZmq*i>Xte~_u<>zAaPU7`|3DHc3xr!}g|uN)9Cc%Hy0IKwEHO={Mx zjRhB#eCFG6S502pe@}jH36oo}*)!c4{gRtk8Ejr96>3^K!?v1Fa2DU*i!y?qDd8%? z;!KhU@BI9HqCj_5_G^n9TaQ0?&(D|dW~uxC`2Fcgu1*&ueP-B}>t(%q6?px^iNMsV;=PNlYv$PS1g)H`#ta7#wQv`Xhnlx^Mrzw4dFmQPrD zNkN2f@#4+Z`!C$Q>ilR+qRGU7Ra+)_h|0@!S+KSS^*R_Fv3@9b@pgBfmS^8SyDved z5pVg9<3#xfgUE zSsnIz;>r+z8;L?Lqn$!_^$cOFW&fsh99Xyg-fdYut>bDb9ZM#hG*%4P*zRQL;o4?8 zhheqatoKit)f6Ubo)DIQ^JHN!%QJ;$y-yqZrOTV{@3z%gFVnCcD zsouq_c1%_hpHFj|Pxx@nXRcZEas`pD0^bd4Q)cOHQd=Y3wZzD0u9@&lCC+;_uVqg@laY6~ z_`UJ?{2vWd&Yd=Nx@#oC^*Q_7o6G0-RcHu$Z*iE*leAH0e*MQ#$-D8s7KNXW92Z)* zU~fZv$-%7x{pTBJzpDQ<<)uRJkss!r3Lj3duQ$2$wYMdB`_@puM?LEE>wd+G&E57* zZ(r7>yw2$>4rUzcxBvU;=fZb_e(HC&NT$DYyL;yF>3zTdEuSem)w#lchJ8JwKdbPY z{VydKd_OMF)tGEnUHeJy){BR4YQ4Np?OmCfv`=c&)Xn#^-0K_->;66cp7qY9h+Vzx z;Pdzz+g(ex%vsO5v$FNatJnG2FMgh#Q}c=4yy$X#{clibrary_name = "Mu"; #ifndef GIT_VERSION @@ -179,8 +170,7 @@ void retro_get_system_info(struct retro_system_info *info) info->valid_extensions = "prc|pdb|pqa"; } -void retro_get_system_av_info(struct retro_system_av_info *info) -{ +void retro_get_system_av_info(struct retro_system_av_info *info){ info->timing.fps = EMU_FPS; info->timing.sample_rate = CRYSTAL_FREQUENCY * AUDIO_DUTY_CYCLE_SIZE; @@ -191,8 +181,7 @@ void retro_get_system_av_info(struct retro_system_av_info *info) info->geometry.aspect_ratio = 160.0 / 220.0; } -void retro_set_environment(retro_environment_t cb) -{ +void retro_set_environment(retro_environment_t cb){ struct retro_log_callback logging; bool no_rom = true; @@ -220,38 +209,31 @@ void retro_set_environment(retro_environment_t cb) environ_cb(RETRO_ENVIRONMENT_SET_VARIABLES, vars); } -void retro_set_audio_sample(retro_audio_sample_t cb) -{ +void retro_set_audio_sample(retro_audio_sample_t cb){ } -void retro_set_audio_sample_batch(retro_audio_sample_batch_t cb) -{ +void retro_set_audio_sample_batch(retro_audio_sample_batch_t cb){ audio_cb = cb; } -void retro_set_input_poll(retro_input_poll_t cb) -{ +void retro_set_input_poll(retro_input_poll_t cb){ input_poll_cb = cb; } -void retro_set_input_state(retro_input_state_t cb) -{ +void retro_set_input_state(retro_input_state_t cb){ input_state_cb = cb; } -void retro_set_video_refresh(retro_video_refresh_t cb) -{ +void retro_set_video_refresh(retro_video_refresh_t cb){ video_cb = cb; } -void retro_reset(void) -{ +void retro_reset(void){ emulatorReset(); } -void retro_run(void) -{ +void retro_run(void){ input_poll_cb(); //touchscreen @@ -305,8 +287,7 @@ void retro_run(void) audio_cb(palmAudio, AUDIO_SAMPLES); } -bool retro_load_game(const struct retro_game_info *info) -{ +bool retro_load_game(const struct retro_game_info *info){ const char* systemDirectory; char palmRomPath[PATH_MAX_LENGTH]; char palmBootloaderPath[PATH_MAX_LENGTH]; @@ -394,31 +375,26 @@ bool retro_load_game(const struct retro_game_info *info) return true; } -void retro_unload_game(void) -{ +void retro_unload_game(void){ emulatorExit(); } -unsigned retro_get_region(void) -{ +unsigned retro_get_region(void){ return RETRO_REGION_NTSC; } -bool retro_load_game_special(unsigned type, const struct retro_game_info *info, size_t num) -{ +bool retro_load_game_special(unsigned type, const struct retro_game_info *info, size_t num){ (void)type; (void)info; (void)num; return false; } -size_t retro_serialize_size(void) -{ +size_t retro_serialize_size(void){ return emulatorGetStateSize(); } -bool retro_serialize(void *data, size_t size) -{ +bool retro_serialize(void *data, size_t size){ buffer_t saveBuffer; saveBuffer.data = (uint8_t*)data; @@ -427,8 +403,7 @@ bool retro_serialize(void *data, size_t size) return emulatorSaveState(saveBuffer); } -bool retro_unserialize(const void *data, size_t size) -{ +bool retro_unserialize(const void *data, size_t size){ buffer_t saveBuffer; saveBuffer.data = (uint8_t*)data; @@ -437,23 +412,19 @@ bool retro_unserialize(const void *data, size_t size) return emulatorLoadState(saveBuffer); } -void *retro_get_memory_data(unsigned id) -{ +void *retro_get_memory_data(unsigned id){ return emulatorGetRamBuffer().data; } -size_t retro_get_memory_size(unsigned id) -{ +size_t retro_get_memory_size(unsigned id){ return emulatorGetRamBuffer().size; } -void retro_cheat_reset(void) -{ +void retro_cheat_reset(void){ } -void retro_cheat_set(unsigned index, bool enabled, const char *code) -{ +void retro_cheat_set(unsigned index, bool enabled, const char *code){ (void)index; (void)enabled; (void)code;