| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | DEBUG=0 | 
					
						
							|  |  |  | FRONTEND_SUPPORTS_RGB565=1 | 
					
						
							| 
									
										
										
										
											2014-12-12 03:03:55 +01:00
										 |  |  | FORCE_32BIT_ARCH=0 | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | MMAP_JIT_CACHE=0 | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-13 20:58:09 -02:00
										 |  |  | UNAME=$(shell uname -a) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-09 22:05:36 +01:00
										 |  |  | # platform
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | ifeq ($(platform),) | 
					
						
							| 
									
										
										
										
											2021-03-09 22:05:36 +01:00
										 |  |  | platform = unix | 
					
						
							|  |  |  | ifeq ($(shell uname -s),) | 
					
						
							|  |  |  |    platform = win | 
					
						
							|  |  |  | else ifneq ($(findstring MINGW,$(shell uname -s)),) | 
					
						
							|  |  |  |    platform = win | 
					
						
							|  |  |  | else ifneq ($(findstring Darwin,$(shell uname -s)),) | 
					
						
							|  |  |  |    platform = osx | 
					
						
							|  |  |  | else ifneq ($(findstring win,$(shell uname -s)),) | 
					
						
							|  |  |  |    platform = win | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-06 12:32:20 +01:00
										 |  |  | ifeq ($(platform), unix) | 
					
						
							| 
									
										
										
										
											2014-12-12 03:03:55 +01:00
										 |  |  | ifeq ($(firstword $(filter x86_64,$(UNAME))),x86_64) | 
					
						
							| 
									
										
										
										
											2021-11-06 12:17:50 +01:00
										 |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	CPU_ARCH := x86_32 | 
					
						
							| 
									
										
										
										
											2014-12-12 03:03:55 +01:00
										 |  |  | else ifeq ($(firstword $(filter amd64,$(UNAME))),amd64) | 
					
						
							| 
									
										
										
										
											2021-11-06 12:17:50 +01:00
										 |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	CPU_ARCH := x86_32 | 
					
						
							| 
									
										
										
										
											2014-12-12 03:03:55 +01:00
										 |  |  | else ifeq ($(firstword $(filter x86,$(UNAME))),x86) | 
					
						
							| 
									
										
										
										
											2014-12-13 06:17:59 +01:00
										 |  |  | 	FORCE_32BIT_ARCH = 1 | 
					
						
							| 
									
										
										
										
											2021-11-06 12:17:50 +01:00
										 |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	CPU_ARCH := x86_32 | 
					
						
							| 
									
										
										
										
											2014-12-12 03:03:55 +01:00
										 |  |  | endif | 
					
						
							| 
									
										
										
										
											2021-11-06 12:32:20 +01:00
										 |  |  | endif | 
					
						
							| 
									
										
										
										
											2014-12-12 03:03:55 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | FORCE_32BIT := | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ifeq ($(FORCE_32BIT_ARCH),1) | 
					
						
							|  |  |  | 	FORCE_32BIT := -m32 | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | # system platform
 | 
					
						
							|  |  |  | system_platform = unix | 
					
						
							| 
									
										
										
										
											2021-03-09 22:05:36 +01:00
										 |  |  | ifeq ($(shell uname -a),) | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	EXE_EXT = .exe | 
					
						
							|  |  |  | 	system_platform = win | 
					
						
							| 
									
										
										
										
											2021-03-09 22:05:36 +01:00
										 |  |  | else ifneq ($(findstring Darwin,$(shell uname -a)),) | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	system_platform = osx | 
					
						
							|  |  |  | 	arch = intel | 
					
						
							|  |  |  | 	ifeq ($(shell uname -p),powerpc) | 
					
						
							|  |  |  | 		arch = ppc | 
					
						
							|  |  |  | 	endif | 
					
						
							| 
									
										
										
										
											2021-03-09 22:05:36 +01:00
										 |  |  | 	ifeq ($(shell uname -p),arm) | 
					
						
							|  |  |  | 		arch = arm | 
					
						
							|  |  |  | 	endif | 
					
						
							|  |  |  | else ifneq ($(findstring MINGW,$(shell uname -a)),) | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	system_platform = win | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | TARGET_NAME	:= gpsp | 
					
						
							| 
									
										
										
										
											2016-12-09 18:42:12 -05:00
										 |  |  | GIT_VERSION := " $(shell git rev-parse --short HEAD || echo unknown)" | 
					
						
							|  |  |  | ifneq ($(GIT_VERSION)," unknown") | 
					
						
							|  |  |  | 	CFLAGS += -DGIT_VERSION=\"$(GIT_VERSION)\" | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2014-12-10 18:32:08 +01:00
										 |  |  | LIBM		   := -lm | 
					
						
							|  |  |  | CORE_DIR    := . | 
					
						
							|  |  |  | LDFLAGS     := | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Unix
 | 
					
						
							|  |  |  | ifeq ($(platform), unix) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	fpic := -fPIC | 
					
						
							|  |  |  | 	SHARED := -shared $(FORCE_32BIT) -Wl,--version-script=link.T | 
					
						
							|  |  |  | 	ifneq ($(findstring Haiku,$(shell uname -a)),) | 
					
						
							|  |  |  | 		LIBM := | 
					
						
							|  |  |  | 	endif | 
					
						
							| 
									
										
										
										
											2014-12-13 05:50:15 +01:00
										 |  |  | 	CFLAGS += $(FORCE_32BIT) | 
					
						
							| 
									
										
										
										
											2021-05-19 20:09:44 +02:00
										 |  |  | 	LDFLAGS += -Wl,--no-undefined | 
					
						
							| 
									
										
										
										
											2014-12-13 20:58:09 -02:00
										 |  |  | 	ifeq ($(HAVE_DYNAREC),1) | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 		MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2014-12-13 20:58:09 -02:00
										 |  |  | 	endif | 
					
						
							| 
									
										
										
										
											2015-03-14 00:59:39 -03:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Linux portable
 | 
					
						
							| 
									
										
										
										
											2015-03-06 11:28:53 +01:00
										 |  |  | else ifeq ($(platform), linux-portable) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	fpic := -fPIC -nostdlib | 
					
						
							|  |  |  | 	SHARED := -shared $(FORCE_32BIT) -Wl,--version-script=link.T | 
					
						
							|  |  |  | 	LIBM := | 
					
						
							|  |  |  | 	CFLAGS += $(FORCE_32BIT) | 
					
						
							|  |  |  | 	ifeq ($(HAVE_DYNAREC),1) | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 		MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2015-03-06 11:28:53 +01:00
										 |  |  | 	endif | 
					
						
							| 
									
										
										
										
											2014-12-13 05:50:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | # OS X
 | 
					
						
							|  |  |  | else ifeq ($(platform), osx) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.dylib | 
					
						
							|  |  |  | 	fpic := -fPIC | 
					
						
							|  |  |  | 	ifeq ($(arch),ppc) | 
					
						
							| 
									
										
										
										
											2014-12-13 05:50:15 +01:00
										 |  |  | 		CFLAGS += -DMSB_FIRST -D__ppc__ | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	endif | 
					
						
							|  |  |  | 	OSXVER = `sw_vers -productVersion | cut -d. -f 2` | 
					
						
							|  |  |  | 	OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"` | 
					
						
							| 
									
										
										
										
											2015-08-01 23:19:59 +02:00
										 |  |  | 	fpic += -mmacosx-version-min=10.1 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	SHARED := -dynamiclib | 
					
						
							| 
									
										
										
										
											2014-12-13 20:58:09 -02:00
										 |  |  | 	ifeq ($(HAVE_DYNAREC),1) | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 		MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2014-12-13 20:58:09 -02:00
										 |  |  | 	endif | 
					
						
							| 
									
										
										
										
											2021-03-27 15:09:01 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |    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) | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-01 19:05:48 -02:00
										 |  |  | # iOS
 | 
					
						
							| 
									
										
										
										
											2015-10-16 03:04:06 +02:00
										 |  |  | else ifneq (,$(findstring ios,$(platform))) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	TARGET := $(TARGET_NAME)_libretro_ios.dylib | 
					
						
							|  |  |  | 	fpic := -fPIC | 
					
						
							|  |  |  | 	SHARED := -dynamiclib | 
					
						
							| 
									
										
										
										
											2014-12-09 22:48:03 +01:00
										 |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	ifeq ($(IOSSDK),) | 
					
						
							| 
									
										
										
										
											2015-02-28 03:31:42 +01:00
										 |  |  | 		IOSSDK := $(shell xcodebuild -version -sdk iphoneos Path) | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-02 15:57:25 -10:00
										 |  |  | 	ifeq ($(platform),ios-arm64) | 
					
						
							|  |  |  | 		CC = cc -arch arm64 -isysroot $(IOSSDK) | 
					
						
							|  |  |  | 	else | 
					
						
							|  |  |  | 		CC = cc -arch armv7 -isysroot $(IOSSDK) | 
					
						
							|  |  |  | 	endif | 
					
						
							| 
									
										
										
										
											2014-12-13 05:50:15 +01:00
										 |  |  | 	CFLAGS += -DIOS -DHAVE_POSIX_MEMALIGN -marm | 
					
						
							| 
									
										
										
										
											2017-10-02 15:57:25 -10:00
										 |  |  | ifeq ($(platform),$(filter $(platform),ios9 ios-arm64)) | 
					
						
							| 
									
										
										
										
											2015-10-16 03:04:06 +02:00
										 |  |  | 	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 | 
					
						
							| 
									
										
										
										
											2015-02-01 19:05:48 -02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-02 15:59:57 -10:00
										 |  |  | # tvOS
 | 
					
						
							|  |  |  | else ifeq ($(platform), tvos-arm64) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro_tvos.dylib | 
					
						
							|  |  |  | 	fpic := -fPIC | 
					
						
							|  |  |  | 	SHARED := -dynamiclib | 
					
						
							|  |  |  | 	CPU_ARCH := arm | 
					
						
							|  |  |  | 	CFLAGS += -DIOS -DHAVE_POSIX_MEMALIGN -marm | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	ifeq ($(IOSSDK),) | 
					
						
							|  |  |  | 		IOSSDK := $(shell xcodebuild -version -sdk appletvos Path) | 
					
						
							|  |  |  | 	endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-01 19:05:48 -02:00
										 |  |  | # iOS Theos
 | 
					
						
							| 
									
										
										
										
											2014-12-23 08:58:58 +01:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-23 08:58:58 +01:00
										 |  |  | 	CFLAGS += -DIOS -DHAVE_POSIX_MEMALIGN -marm | 
					
						
							|  |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2015-02-01 19:05:48 -02:00
										 |  |  | 	LIBRARY_NAME = $(TARGET_NAME)_libretro_ios | 
					
						
							| 
									
										
										
										
											2014-12-23 08:58:58 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-02-01 19:05:48 -02:00
										 |  |  | # QNX
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | else ifeq ($(platform), qnx) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro_qnx.so | 
					
						
							|  |  |  | 	fpic := -fPIC | 
					
						
							|  |  |  | 	SHARED := -shared -Wl,--version-script=link.T | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 	MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2021-03-12 17:59:36 +01:00
										 |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	CC = qcc -Vgcc_ntoarmv7le | 
					
						
							|  |  |  | 	AR = qcc -Vgcc_ntoarmv7le | 
					
						
							| 
									
										
										
										
											2014-12-22 06:52:09 +01:00
										 |  |  | 	CFLAGS += -D__BLACKBERRY_QNX_ | 
					
						
							|  |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | # Lightweight PS3 Homebrew SDK
 | 
					
						
							|  |  |  | else ifeq ($(platform), psl1ght) | 
					
						
							| 
									
										
										
										
											2016-08-07 16:34:34 +02:00
										 |  |  | 	TARGET := $(TARGET_NAME)_libretro_$(platform).a | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	CC = $(PS3DEV)/ppu/bin/ppu-gcc$(EXE_EXT) | 
					
						
							|  |  |  | 	AR = $(PS3DEV)/ppu/bin/ppu-ar$(EXE_EXT) | 
					
						
							| 
									
										
										
										
											2014-12-13 05:50:15 +01:00
										 |  |  | 	CFLAGS += -DMSB_FIRST -D__ppc__ | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	STATIC_LINKING = 1 | 
					
						
							| 
									
										
										
										
											2018-01-10 03:14:18 +01:00
										 |  |  | 	 | 
					
						
							|  |  |  | # Nintendo Switch (libtransistor)
 | 
					
						
							|  |  |  | else ifeq ($(platform), switch) | 
					
						
							|  |  |  | 	EXT=a | 
					
						
							|  |  |  |         TARGET := $(TARGET_NAME)_libretro_$(platform).$(EXT) | 
					
						
							|  |  |  |         include $(LIBTRANSISTOR_HOME)/libtransistor.mk | 
					
						
							|  |  |  |         STATIC_LINKING=1 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-27 01:16:28 +02:00
										 |  |  | # Nintendo Game Cube / Wii / WiiU
 | 
					
						
							|  |  |  | else ifneq (,$(filter $(platform), ngc wii wiiu)) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro_$(platform).a | 
					
						
							|  |  |  | 	CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) | 
					
						
							|  |  |  | 	AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT) | 
					
						
							|  |  |  | 	CFLAGS += -DGEKKO -mcpu=750 -meabi -mhard-float -DHAVE_STRTOF_L | 
					
						
							|  |  |  | 	STATIC_LINKING = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | # PSP
 | 
					
						
							|  |  |  | else ifeq ($(platform), psp1) | 
					
						
							| 
									
										
										
										
											2016-08-07 16:34:34 +02:00
										 |  |  | 	TARGET := $(TARGET_NAME)_libretro_$(platform).a | 
					
						
							| 
									
										
										
										
											2020-10-08 23:56:18 +02:00
										 |  |  | 	CC = psp-gcc$(EXE_EXT) | 
					
						
							|  |  |  | 	AR = psp-ar$(EXE_EXT) | 
					
						
							| 
									
										
										
										
											2021-07-23 18:50:44 +02:00
										 |  |  | 	CFLAGS += -DPSP -G0 -DUSE_BGR_FORMAT -DMIPS_HAS_R2_INSTS -DSMALL_TRANSLATION_CACHE | 
					
						
							| 
									
										
										
										
											2019-09-13 13:44:48 -04:00
										 |  |  | 	CFLAGS += -I$(shell psp-config --pspsdk-path)/include | 
					
						
							|  |  |  | 	CFLAGS += -march=allegrex -mfp32 -mgp32 -mlong32 -mabi=eabi | 
					
						
							| 
									
										
										
										
											2019-09-16 14:03:24 -04:00
										 |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math | 
					
						
							| 
									
										
										
										
											2019-09-13 13:44:48 -04:00
										 |  |  | 	CFLAGS += -falign-functions=32 -falign-loops -falign-labels -falign-jumps | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	STATIC_LINKING = 1 | 
					
						
							| 
									
										
										
										
											2019-10-03 13:24:32 -04:00
										 |  |  | 	HAVE_DYNAREC = 1 | 
					
						
							|  |  |  | 	CPU_ARCH := mips | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-08-31 21:50:44 +02:00
										 |  |  | # Vita
 | 
					
						
							|  |  |  | else ifeq ($(platform), vita) | 
					
						
							| 
									
										
										
										
											2016-08-07 16:34:34 +02:00
										 |  |  | 	TARGET := $(TARGET_NAME)_libretro_$(platform).a | 
					
						
							| 
									
										
										
										
											2015-08-31 21:50:44 +02:00
										 |  |  | 	CC = arm-vita-eabi-gcc$(EXE_EXT) | 
					
						
							|  |  |  | 	AR = arm-vita-eabi-ar$(EXE_EXT) | 
					
						
							| 
									
										
										
										
											2021-10-20 01:15:40 +02:00
										 |  |  | 	CFLAGS += -DVITA -DOVERCLOCK_60FPS | 
					
						
							| 
									
										
										
										
											2016-10-03 20:19:11 +02:00
										 |  |  | 	CFLAGS += -marm -mcpu=cortex-a9 -mfloat-abi=hard | 
					
						
							| 
									
										
										
										
											2016-08-14 18:30:14 +02:00
										 |  |  | 	CFLAGS += -Wall -mword-relocations | 
					
						
							|  |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math | 
					
						
							| 
									
										
										
										
											2016-09-29 01:03:33 +02:00
										 |  |  | 	CFLAGS += -mword-relocations -fno-unwind-tables -fno-asynchronous-unwind-tables  | 
					
						
							|  |  |  | 	CFLAGS += -ftree-vectorize -fno-optimize-sibling-calls | 
					
						
							|  |  |  | 	ASFLAGS += -mcpu=cortex-a9 | 
					
						
							| 
									
										
										
										
											2015-08-31 21:50:44 +02:00
										 |  |  | 	STATIC_LINKING = 1 | 
					
						
							| 
									
										
										
										
											2016-10-03 20:19:11 +02:00
										 |  |  | 	HAVE_DYNAREC = 1 | 
					
						
							| 
									
										
										
										
											2015-10-24 19:48:54 +01:00
										 |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2015-08-31 21:50:44 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-06 11:27:02 +01:00
										 |  |  | # CTR(3DS)
 | 
					
						
							|  |  |  | else ifeq ($(platform), ctr) | 
					
						
							| 
									
										
										
										
											2016-08-07 16:34:34 +02:00
										 |  |  | 	TARGET := $(TARGET_NAME)_libretro_$(platform).a | 
					
						
							| 
									
										
										
										
											2020-10-08 23:56:18 +02:00
										 |  |  | 	CC = $(DEVKITARM)/bin/arm-none-eabi-gcc$(EXE_EXT) | 
					
						
							|  |  |  | 	CXX = $(DEVKITARM)/bin/arm-none-eabi-g++$(EXE_EXT) | 
					
						
							|  |  |  | 	AR = $(DEVKITARM)/bin/arm-none-eabi-ar$(EXE_EXT) | 
					
						
							| 
									
										
										
										
											2015-04-06 11:27:02 +01:00
										 |  |  | 	CFLAGS += -DARM11 -D_3DS | 
					
						
							|  |  |  | 	CFLAGS += -march=armv6k -mtune=mpcore -mfloat-abi=hard | 
					
						
							|  |  |  | 	CFLAGS += -Wall -mword-relocations | 
					
						
							|  |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math | 
					
						
							| 
									
										
										
										
											2015-09-14 04:04:25 +01:00
										 |  |  | 	CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 | 
					
						
							| 
									
										
										
										
											2015-04-06 11:27:02 +01:00
										 |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2015-04-08 10:20:32 +01:00
										 |  |  | 	HAVE_DYNAREC = 1 | 
					
						
							| 
									
										
										
										
											2015-04-06 11:27:02 +01:00
										 |  |  | 	STATIC_LINKING = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-05-24 17:52:00 +02:00
										 |  |  | # Raspberry Pi 3
 | 
					
						
							|  |  |  | else ifeq ($(platform), rpi3) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	fpic := -fPIC | 
					
						
							|  |  |  | 	SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined | 
					
						
							|  |  |  | 	CFLAGS += -marm -mcpu=cortex-a53 -mfpu=neon-fp-armv8 -mfloat-abi=hard | 
					
						
							|  |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math | 
					
						
							|  |  |  | 	CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 | 
					
						
							|  |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 	MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2016-05-24 17:52:00 +02:00
										 |  |  | 	HAVE_DYNAREC = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-02-27 04:29:26 +01:00
										 |  |  | # Raspberry Pi 2
 | 
					
						
							|  |  |  | else ifeq ($(platform), rpi2) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	fpic := -fPIC | 
					
						
							|  |  |  | 	SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined | 
					
						
							| 
									
										
										
										
											2016-05-24 17:52:00 +02:00
										 |  |  | 	CFLAGS += -marm -mcpu=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard | 
					
						
							| 
									
										
										
										
											2016-02-27 04:29:26 +01:00
										 |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math | 
					
						
							|  |  |  | 	CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 | 
					
						
							|  |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 	MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2016-02-27 04:29:26 +01:00
										 |  |  | 	HAVE_DYNAREC = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Raspberry Pi 1
 | 
					
						
							|  |  |  | else ifeq ($(platform), rpi1) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	fpic := -fPIC | 
					
						
							|  |  |  | 	SHARED := -shared -Wl,--version-script=link.T -Wl,--no-undefined | 
					
						
							| 
									
										
										
										
											2021-03-12 17:59:36 +01:00
										 |  |  | 	CFLAGS += -DARM11 | 
					
						
							| 
									
										
										
										
											2016-05-24 17:52:00 +02:00
										 |  |  | 	CFLAGS += -marm -mfpu=vfp -mfloat-abi=hard -march=armv6j | 
					
						
							| 
									
										
										
										
											2016-02-27 04:29:26 +01:00
										 |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math | 
					
						
							|  |  |  | 	CXXFLAGS = $(CFLAGS) -fno-rtti -fno-exceptions -std=gnu++11 | 
					
						
							|  |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 	MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2016-02-27 04:29:26 +01:00
										 |  |  | 	HAVE_DYNAREC = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2018-11-01 16:42:06 +00:00
										 |  |  | # Classic Platforms ####################
 | 
					
						
							|  |  |  | # Platform affix = classic_<ISA>_<µARCH>
 | 
					
						
							|  |  |  | # Help at https://modmyclassic.com/comp
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # (armv7 a7, hard point, neon based) ### 
 | 
					
						
							|  |  |  | # NESC, SNESC, C64 mini 
 | 
					
						
							|  |  |  | else ifeq ($(platform), classic_armv7_a7) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	fpic := -fPIC | 
					
						
							|  |  |  |     SHARED := -shared -Wl,--version-script=link.T  -Wl,--no-undefined -fPIC | 
					
						
							|  |  |  | 	CFLAGS += -Ofast \
 | 
					
						
							|  |  |  | 	-flto=4 -fwhole-program -fuse-linker-plugin \
 | 
					
						
							|  |  |  | 	-fdata-sections -ffunction-sections -Wl,--gc-sections \
 | 
					
						
							|  |  |  | 	-fno-stack-protector -fno-ident -fomit-frame-pointer \
 | 
					
						
							|  |  |  | 	-falign-functions=1 -falign-jumps=1 -falign-loops=1 \
 | 
					
						
							|  |  |  | 	-fno-unwind-tables -fno-asynchronous-unwind-tables -fno-unroll-loops \
 | 
					
						
							|  |  |  | 	-fmerge-all-constants -fno-math-errno \
 | 
					
						
							|  |  |  | 	-marm -mtune=cortex-a7 -mfpu=neon-vfpv4 -mfloat-abi=hard | 
					
						
							|  |  |  | 	CXXFLAGS = $(CFLAGS) -std=gnu++11 | 
					
						
							|  |  |  | 	CPPFLAGS += $(CFLAGS) | 
					
						
							|  |  |  | 	ASFLAGS += $(CFLAGS) | 
					
						
							|  |  |  | 	HAVE_NEON = 1 | 
					
						
							|  |  |  | 	ARCH = arm | 
					
						
							|  |  |  | 	BUILTIN_GPU = neon | 
					
						
							|  |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 	MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2018-11-01 16:42:06 +00:00
										 |  |  | 	HAVE_DYNAREC = 1 | 
					
						
							|  |  |  | 	ifeq ($(shell echo `$(CC) -dumpversion` "< 4.9" | bc -l), 1) | 
					
						
							|  |  |  | 	  CFLAGS += -march=armv7-a | 
					
						
							|  |  |  | 	else | 
					
						
							|  |  |  | 	  CFLAGS += -march=armv7ve | 
					
						
							|  |  |  | 	  # If gcc is 5.0 or later | 
					
						
							|  |  |  | 	  ifeq ($(shell echo `$(CC) -dumpversion` ">= 5" | bc -l), 1) | 
					
						
							|  |  |  | 	    LDFLAGS += -static-libgcc -static-libstdc++ | 
					
						
							|  |  |  | 	  endif | 
					
						
							|  |  |  | 	endif | 
					
						
							|  |  |  | #######################################
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | # Xbox 360
 | 
					
						
							|  |  |  | else ifeq ($(platform), xenon) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro_xenon360.a | 
					
						
							|  |  |  | 	CC = xenon-gcc$(EXE_EXT) | 
					
						
							|  |  |  | 	AR = xenon-ar$(EXE_EXT) | 
					
						
							|  |  |  | 	CFLAGS += -D__LIBXENON__ -m32 -D__ppc__ | 
					
						
							|  |  |  | 	STATIC_LINKING = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Nintendo Game Cube
 | 
					
						
							|  |  |  | else ifeq ($(platform), ngc) | 
					
						
							| 
									
										
										
										
											2016-09-07 09:32:02 +02:00
										 |  |  | 	TARGET := $(TARGET_NAME)_libretro_$(platform).a | 
					
						
							| 
									
										
										
										
											2020-10-08 23:56:18 +02:00
										 |  |  | 	CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) | 
					
						
							|  |  |  | 	AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT) | 
					
						
							| 
									
										
										
										
											2014-12-13 05:50:15 +01:00
										 |  |  | 	CFLAGS += -DGEKKO -DHW_DOL -mrvl -mcpu=750 -meabi -mhard-float -DMSB_FIRST -D__ppc__ | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	STATIC_LINKING = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Nintendo Wii
 | 
					
						
							|  |  |  | else ifeq ($(platform), wii) | 
					
						
							| 
									
										
										
										
											2016-09-07 09:32:02 +02:00
										 |  |  | 	TARGET := $(TARGET_NAME)_libretro_$(platform).a | 
					
						
							| 
									
										
										
										
											2020-10-08 23:56:18 +02:00
										 |  |  | 	CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) | 
					
						
							|  |  |  | 	AR = $(DEVKITPPC)/bin/powerpc-eabi-ar$(EXE_EXT) | 
					
						
							| 
									
										
										
										
											2014-12-13 05:50:15 +01:00
										 |  |  | 	CFLAGS += -DGEKKO -DHW_RVL -mrvl -mcpu=750 -meabi -mhard-float -DMSB_FIRST -D__ppc__ | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	STATIC_LINKING = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # ARM
 | 
					
						
							|  |  |  | else ifneq (,$(findstring armv,$(platform))) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							| 
									
										
										
										
											2014-12-13 20:58:09 -02:00
										 |  |  | 	SHARED := -shared -Wl,--version-script=link.T | 
					
						
							|  |  |  | 	CPU_ARCH := arm | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 	MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	fpic := -fPIC | 
					
						
							| 
									
										
										
										
											2015-02-01 19:05:48 -02:00
										 |  |  | 	ifneq (,$(findstring cortexa5,$(platform))) | 
					
						
							|  |  |  | 		CFLAGS += -marm -mcpu=cortex-a5 | 
					
						
							|  |  |  | 		ASFLAGS += -mcpu=cortex-a5 | 
					
						
							|  |  |  | 	else ifneq (,$(findstring cortexa8,$(platform))) | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 		CFLAGS += -marm -mcpu=cortex-a8 | 
					
						
							|  |  |  | 		ASFLAGS += -mcpu=cortex-a8 | 
					
						
							|  |  |  | 	else ifneq (,$(findstring cortexa9,$(platform))) | 
					
						
							|  |  |  | 		CFLAGS += -marm -mcpu=cortex-a9 | 
					
						
							|  |  |  | 		ASFLAGS += -mcpu=cortex-a9 | 
					
						
							| 
									
										
										
										
											2015-02-01 19:05:48 -02:00
										 |  |  | 	else ifneq (,$(findstring cortexa15a7,$(platform))) | 
					
						
							|  |  |  | 		CFLAGS += -marm -mcpu=cortex-a15.cortex-a7 | 
					
						
							|  |  |  | 		ASFLAGS += -mcpu=cortex-a15.cortex-a7 | 
					
						
							|  |  |  | 	else | 
					
						
							|  |  |  | 		CFLAGS += -marm | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	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 | 
					
						
							| 
									
										
										
										
											2015-03-14 00:59:39 -03:00
										 |  |  | 	# Dynarec works at least in rpi, take a look at issue #11 | 
					
						
							|  |  |  | 	ifeq (,$(findstring no-dynarec,$(platform))) | 
					
						
							|  |  |  | 		HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	endif | 
					
						
							| 
									
										
										
										
											2021-05-19 20:09:44 +02:00
										 |  |  | 	LDFLAGS += -Wl,--no-undefined | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-03-25 23:01:20 +01:00
										 |  |  | # MIPS
 | 
					
						
							|  |  |  | else ifeq ($(platform), mips32) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	SHARED := -shared -nostdlib -Wl,--version-script=link.T | 
					
						
							|  |  |  | 	fpic := -fPIC -DPIC | 
					
						
							|  |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float | 
					
						
							| 
									
										
										
										
											2021-06-22 00:09:44 +02:00
										 |  |  | 	CFLAGS += -DMIPS_HAS_R2_INSTS | 
					
						
							| 
									
										
										
										
											2021-03-25 23:01:20 +01:00
										 |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	CPU_ARCH := mips | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-21 19:17:19 +02:00
										 |  |  | # MIPS64
 | 
					
						
							|  |  |  | else ifeq ($(platform), mips64n32) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	SHARED := -shared -nostdlib -Wl,--version-script=link.T | 
					
						
							|  |  |  | 	fpic := -fPIC -DPIC | 
					
						
							|  |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math -march=mips64 -mabi=n32 -mhard-float | 
					
						
							|  |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	CPU_ARCH := mips | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-22 18:30:45 +02:00
										 |  |  | # PS2
 | 
					
						
							|  |  |  | else ifeq ($(platform), ps2) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro_$(platform).a | 
					
						
							|  |  |  | 	CC = mips64r5900el-ps2-elf-gcc$(EXE_EXT) | 
					
						
							|  |  |  | 	AR = mips64r5900el-ps2-elf-ar$(EXE_EXT) | 
					
						
							|  |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math | 
					
						
							| 
									
										
										
										
											2021-07-24 02:00:16 +02:00
										 |  |  | 	CFLAGS += -DPS2 -DUSE_XBGR1555_FORMAT -DSMALL_TRANSLATION_CACHE -DROM_BUFFER_SIZE=16 | 
					
						
							| 
									
										
										
										
											2021-07-22 18:30:45 +02:00
										 |  |  | 	CFLAGS += -D_EE -I$(PS2SDK)/ee/include/ -I$(PS2SDK)/common/include/ | 
					
						
							|  |  |  | 	HAVE_DYNAREC = 1 | 
					
						
							|  |  |  | 	CPU_ARCH := mips | 
					
						
							|  |  |  | 	STATIC_LINKING = 1 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | # emscripten
 | 
					
						
							|  |  |  | else ifeq ($(platform), emscripten) | 
					
						
							| 
									
										
										
										
											2016-09-07 09:32:02 +02:00
										 |  |  | 	TARGET := $(TARGET_NAME)_libretro_$(platform).bc | 
					
						
							|  |  |  | 	STATIC_LINKING = 1 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-06-22 00:09:44 +02:00
										 |  |  | # GCW0 (OD and OD Beta)
 | 
					
						
							| 
									
										
										
										
											2016-03-04 06:37:04 +01:00
										 |  |  | else ifeq ($(platform), gcw0) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							| 
									
										
										
										
											2020-10-23 16:06:15 +01:00
										 |  |  | 	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 | 
					
						
							| 
									
										
										
										
											2016-03-04 06:37:04 +01:00
										 |  |  | 	SHARED := -shared -nostdlib -Wl,--version-script=link.T | 
					
						
							| 
									
										
										
										
											2021-03-16 19:02:11 +01:00
										 |  |  | 	fpic := -fPIC -DPIC | 
					
						
							| 
									
										
										
										
											2020-10-23 15:22:56 +01:00
										 |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float | 
					
						
							| 
									
										
										
										
											2021-06-18 18:03:47 +02:00
										 |  |  | 	CFLAGS += -DMIPS_HAS_R2_INSTS | 
					
						
							| 
									
										
										
										
											2021-03-16 19:02:11 +01:00
										 |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	CPU_ARCH := mips | 
					
						
							| 
									
										
										
										
											2016-03-04 06:37:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-29 23:06:25 +12:00
										 |  |  | # RETROFW
 | 
					
						
							|  |  |  | else ifeq ($(platform), retrofw) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	CC = /opt/retrofw-toolchain/usr/bin/mipsel-linux-gcc | 
					
						
							|  |  |  | 	CXX = /opt/retrofw-toolchain/usr/bin/mipsel-linux-g++ | 
					
						
							|  |  |  | 	AR = /opt/retrofw-toolchain/usr/bin/mipsel-linux-ar | 
					
						
							|  |  |  | 	SHARED := -shared -nostdlib -Wl,--version-script=link.T | 
					
						
							|  |  |  | 	fpic := -fPIC -DPIC | 
					
						
							|  |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math -march=mips32  -mhard-float | 
					
						
							|  |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	CPU_ARCH := mips | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-07-23 18:50:44 +02:00
										 |  |  | # RS90
 | 
					
						
							|  |  |  | else ifeq ($(platform), rs90) | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.so | 
					
						
							|  |  |  | 	CC = /opt/rs90-toolchain/usr/bin/mipsel-linux-gcc | 
					
						
							|  |  |  | 	CXX = /opt/rs90-toolchain/usr/bin/mipsel-linux-g++ | 
					
						
							|  |  |  | 	AR = /opt/rs90-toolchain/usr/bin/mipsel-linux-ar | 
					
						
							|  |  |  | 	SHARED := -shared -nostdlib -Wl,--version-script=link.T | 
					
						
							|  |  |  | 	fpic := -fPIC -DPIC | 
					
						
							|  |  |  | 	CFLAGS += -fomit-frame-pointer -ffast-math -march=mips32 -mtune=mips32 | 
					
						
							| 
									
										
										
										
											2021-07-23 19:26:55 +02:00
										 |  |  | 	CFLAGS += -DSMALL_TRANSLATION_CACHE -DROM_BUFFER_SIZE=4 | 
					
						
							| 
									
										
										
										
											2021-07-23 18:50:44 +02:00
										 |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	CPU_ARCH := mips | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | # Windows
 | 
					
						
							|  |  |  | else | 
					
						
							|  |  |  | 	TARGET := $(TARGET_NAME)_libretro.dll | 
					
						
							| 
									
										
										
										
											2020-10-08 05:16:57 +02:00
										 |  |  | 	CC ?= gcc | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	SHARED := -shared -static-libgcc -static-libstdc++ -s -Wl,--version-script=link.T | 
					
						
							|  |  |  | 	CFLAGS += -D__WIN32__ -D__WIN32_LIBRETRO__ | 
					
						
							| 
									
										
										
										
											2014-12-13 05:50:15 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-06 12:32:20 +01:00
										 |  |  | 	# Windows32/64 has dynarec support | 
					
						
							|  |  |  | 	HAVE_DYNAREC := 1 | 
					
						
							|  |  |  | 	CPU_ARCH := x86_32 | 
					
						
							|  |  |  | 	MMAP_JIT_CACHE = 1 | 
					
						
							| 
									
										
										
										
											2014-12-13 05:50:15 +01:00
										 |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | ifeq ($(MMAP_JIT_CACHE), 1) | 
					
						
							|  |  |  | CFLAGS += -DMMAP_JIT_CACHE | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | endif | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-04-03 00:37:42 +02:00
										 |  |  | # Add -DTRACE_INSTRUCTIONS to trace instruction execution
 | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | ifeq ($(DEBUG), 1) | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	OPTIMIZE      := -O0 -g | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2021-03-16 19:02:11 +01:00
										 |  |  | 	OPTIMIZE      := -O3 -DNDEBUG | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-20 14:16:01 +02:00
										 |  |  | DEFINES := -DHAVE_STRINGS_H -DHAVE_STDINT_H -DHAVE_INTTYPES_H -D__LIBRETRO__ -DINLINE=inline -Wall | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-10 17:06:09 +01:00
										 |  |  | ifeq ($(HAVE_DYNAREC), 1) | 
					
						
							|  |  |  | DEFINES += -DHAVE_DYNAREC | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:48:03 +01:00
										 |  |  | ifeq ($(CPU_ARCH), arm) | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 	DEFINES += -DARM_ARCH | 
					
						
							| 
									
										
										
										
											2021-03-12 17:59:36 +01:00
										 |  |  | else ifeq ($(CPU_ARCH), mips) | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 	DEFINES += -DMIPS_ARCH | 
					
						
							| 
									
										
										
										
											2021-03-06 21:15:22 +01:00
										 |  |  | else ifeq ($(CPU_ARCH), x86_32) | 
					
						
							| 
									
										
										
										
											2021-11-05 18:23:05 +01:00
										 |  |  | 	DEFINES += -DX86_ARCH | 
					
						
							| 
									
										
										
										
											2014-12-09 22:48:03 +01:00
										 |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2021-05-19 20:09:44 +02:00
										 |  |  | include Makefile.common | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | OBJECTS := $(SOURCES_C:.c=.o) $(SOURCES_ASM:.S=.o) | 
					
						
							| 
									
										
										
										
											2015-09-11 22:02:04 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | WARNINGS_DEFINES = | 
					
						
							|  |  |  | CODE_DEFINES = | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | COMMON_DEFINES += $(CODE_DEFINES) $(WARNINGS_DEFINES) -DNDEBUG=1 $(fpic) | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2020-05-27 21:34:54 +02:00
										 |  |  | CFLAGS += $(DEFINES) $(COMMON_DEFINES) | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ifeq ($(FRONTEND_SUPPORTS_RGB565), 1) | 
					
						
							|  |  |  | 	CFLAGS += -DFRONTEND_SUPPORTS_RGB565 | 
					
						
							|  |  |  | endif | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-10 17:12:22 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-11 22:02:04 +01:00
										 |  |  | ifeq ($(platform), ctr) | 
					
						
							|  |  |  | ifeq ($(HAVE_DYNAREC), 1) | 
					
						
							| 
									
										
										
										
											2020-02-29 10:50:30 -08:00
										 |  |  | OBJECTS += 3ds/3ds_utils.o 3ds/3ds_cache_utils.o | 
					
						
							| 
									
										
										
										
											2015-09-11 22:02:04 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | ifeq ($(strip $(CTRULIB)),) | 
					
						
							| 
									
										
										
										
											2020-12-03 12:09:53 +00:00
										 |  |  | $(error "Please set CTRULIB in your environment. export CTRULIB=<path to>libctru") | 
					
						
							| 
									
										
										
										
											2015-09-11 22:02:04 +01:00
										 |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | CFLAGS  += -I$(CTRULIB)/include | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-23 08:58:58 +01:00
										 |  |  | ifeq ($(platform), theos_ios) | 
					
						
							|  |  |  | COMMON_FLAGS := -DIOS $(COMMON_DEFINES) $(INCFLAGS) -I$(THEOS_INCLUDE_PATH) -Wno-error | 
					
						
							|  |  |  | $(LIBRARY_NAME)_CFLAGS += $(COMMON_FLAGS) $(CFLAGS) | 
					
						
							|  |  |  | ${LIBRARY_NAME}_FILES = $(SOURCES_C) $(SOURCES_ASM) | 
					
						
							|  |  |  | include $(THEOS_MAKE_PATH)/library.mk | 
					
						
							|  |  |  | else | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | all: $(TARGET) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | $(TARGET): $(OBJECTS) | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | ifeq ($(STATIC_LINKING), 1) | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	$(AR) rcs $@ $(OBJECTS) | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | else | 
					
						
							| 
									
										
										
										
											2014-12-10 17:12:22 +01:00
										 |  |  | 	$(CC) $(fpic) $(SHARED) $(INCFLAGS) $(OPTIMIZE) -o $@ $(OBJECTS) $(LIBM) $(LDFLAGS) | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 02:11:22 +01:00
										 |  |  | cpu_threaded.o: cpu_threaded.c | 
					
						
							| 
									
										
										
										
											2021-09-30 18:31:11 +02:00
										 |  |  | 	$(CC) $(INCFLAGS) $(CFLAGS) $(OPTIMIZE) -Wno-unused-variable -Wno-unused-label -c  -o $@ $< | 
					
						
							| 
									
										
										
										
											2014-12-09 02:11:22 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | %.o: %.S | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	$(CC) $(ASFLAGS) $(CFLAGS) $(OPTIMIZE) -c -o $@ $< | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | %.o: %.c | 
					
						
							|  |  |  | 	$(CC) $(INCFLAGS) $(CFLAGS) $(OPTIMIZE) -c  -o $@ $< | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-09-14 04:04:25 +01:00
										 |  |  | %.o: %.cpp | 
					
						
							|  |  |  | 	$(CXX) $(INCFLAGS) $(CXXFLAGS) $(OPTIMIZE) -c  -o $@ $< | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | clean-objs: | 
					
						
							|  |  |  | 	rm -rf $(OBJECTS) | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | clean: | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | 	rm -f $(OBJECTS) $(TARGET) | 
					
						
							| 
									
										
										
										
											2014-12-08 22:56:33 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-09 22:25:29 +01:00
										 |  |  | .PHONY: clean | 
					
						
							| 
									
										
										
										
											2014-12-23 08:58:58 +01:00
										 |  |  | endif |