ROOT_DIR := . DEPS_DIR := $(ROOT_DIR)/deps DEBUG = 0 HAVE_LOGGER = 0 HAVE_FILE_LOGGER = 0 HAVE_CC_RESAMPLER = 1 WHOLE_ARCHIVE_LINK = 0 BIG_STACK = 1 PC_DEVELOPMENT_IP_ADDRESS = 255.255.255.255 PC_DEVELOPMENT_UDP_PORT = 3490 RARCH_CONSOLE = 0 USBGECKO = 0 SPACE := SPACE := $(SPACE) $(SPACE) BACKSLASH := BACKSLASH := \$(BACKSLASH) filter_out1 = $(filter-out $(firstword $1),$1) filter_out2 = $(call filter_out1,$(call filter_out1,$1)) UNAME_ARCH = $(shell uname -m) ifeq ($(UNAME_ARCH),x86_64) HOST_ARCH = x64 else HOST_ARCH = x86 endif ifneq ($(EMSCRIPTEN),) platform = emscripten endif ifeq ($(platform),) 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 endif # system platform system_platform = unix ifeq ($(shell uname -s),) EXE_EXT = .exe system_platform = win else ifneq ($(findstring Darwin,$(shell uname -s)),) system_platform = osx else ifneq ($(findstring MINGW,$(shell uname -s)),) system_platform = win endif TARGET_NAME := retroarch INCLUDE := LDFLAGS := LIBDIRS := SHADER_CG_DIR := media/shaders_cg OVERLAY_DIR := media/overlays SHADER_GLSL_DIR := media/shaders_glsl PYTHON3 := python3$(EXE_EXT) GIT := git$(EXE_EXT) ifeq ($(WHOLE_ARCHIVE_LINK), 1) WHOLE_START := -Wl,--whole-archive WHOLE_END := -Wl,--no-whole-archive endif STATIC_BUILD = 1 ifneq (,$(findstring msvc,$(platform))) STATIC_BUILD = 0 endif ifneq (,$(findstring unix,$(platform))) STATIC_BUILD = 0 endif ifeq (qnx, $(platform)) STATIC_BUILD = 0 endif ifeq ($(STATIC_BUILD), 0) LIBS := $(WHOLE_START) $(WHOLE_END) else LIBS := $(WHOLE_START) -lretro_$(platform) $(WHOLE_END) endif libogc_platform := ifeq ($(platform), ngc) libogc_platform := 1 else ifeq ($(platform), wii) libogc_platform := 1 endif HAVE_GFX_WIDGETS := 1 # PS3 ifeq ($(platform), ps3) #TODO MEDIA_SHADER_DIR := pkg/ps3/USRDIR/cores/shaders RARCH_CONSOLE = 1 # PS3 - Cobra else ifeq ($(platform), ps3-cobra) #TODO MEDIA_SHADER_DIR := ps3/iso/PS3_GAME/USRDIR/cores/shaders RARCH_CONSOLE = 1 # NGC/Wii - libogc else ifeq ($(libogc_platform), 1) EXTERNAL_LIBOGC ?= 0 GX_PTHREAD_LEGACY ?= 1 CC = $(DEVKITPPC)/bin/powerpc-eabi-gcc$(EXE_EXT) CXX = $(DEVKITPPC)/bin/powerpc-eabi-g++$(EXE_EXT) LD = $(DEVKITPPC)/bin/powerpc-eabi-ld$(EXE_EXT) ELF2DOL = $(DEVKITPPC)/bin/elf2dol$(EXE_EXT) # Check whether ELF2DOL executable exists # (path has changed in more recent toolchains) ifeq ("$(wildcard $(ELF2DOL))","") ELF2DOL = $(DEVKITPRO)/tools/bin/elf2dol$(EXE_EXT) endif EXT_TARGET := $(TARGET_NAME)_$(platform).dol EXT_INTER_TARGET := $(TARGET_NAME)_$(platform).elf INCLUDE += -I. ifeq ($(EXTERNAL_LIBOGC), 1) CFLAGS += -DEXTERNAL_LIBOGC CXXFLAGS += -DEXTERNAL_LIBOGC INCLUDE += -I$(DEVKITPRO)/libogc/include ifeq ($(platform), ngc) LIBDIRS += -L$(DEVKITPRO)/libogc/lib/cube else ifeq ($(platform), wii) LIBDIRS += -L$(DEVKITPRO)/libogc/lib/wii endif else CFLAGS += -DINTERNAL_LIBOGC CXXFLAGS += -DINTERNAL_LIBOGC INCLUDE += -Iwii/libogc/include ifeq ($(platform), ngc) LIBDIRS += -Lwii/libogc/libs/cube else ifeq ($(platform), wii) LIBDIRS += -Lwii/libogc/libs/wii endif endif ifeq ($(GX_PTHREAD_LEGACY), 1) CFLAGS += -DGX_PTHREAD_LEGACY CXXFLAGS += -DGX_PTHREAD_LEGACY endif ifeq ($(platform), ngc) MACHDEP := -DHW_DOL -mogc else ifeq ($(platform), wii) MACHDEP := -DHW_RVL -mrvl endif LIBDIRS += -L. MACHDEP += -DGEKKO -mcpu=750 -meabi -mhard-float ifeq ($(platform), ngc) LDFLAGS += $(MACHDEP) -Wl,-Map,$(notdir $(EXT_INTER_TARGET)).map ifeq ($(BIG_STACK), 1) LDFLAGS += -T bootstrap/gx/ogc.ld endif else ifeq ($(platform), wii) LDFLAGS += $(MACHDEP) -Wl,-Map,$(notdir $(EXT_INTER_TARGET)).map,-wrap,malloc,-wrap,free,-wrap,memalign,-wrap,calloc,-wrap,realloc,-wrap,strdup,-wrap,strndup,-wrap,malloc_usable_size ifeq ($(BIG_STACK), 1) LDFLAGS += -T bootstrap/gx/rvl.ld endif endif ifeq ($(EXTERNAL_LIBOGC), 1) LIBS += -lfat endif ifeq ($(platform), wii) LIBS += -lwiiuse -lbte ifeq ($(USBGECKO), 1) LIBS += -ldb endif else ifeq ($(platform), ngc) ifeq ($(HAVE_LOGGER), 1) LIBS += -lbba endif endif LIBS += -logc CFLAGS += -DGEKKO -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__=int HAVE_RUNAHEAD := 1 HAVE_DSP_FILTER := 1 HAVE_VIDEO_FILTER := 1 HAVE_FILTERS_BUILTIN := 1 HAVE_THREADS := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_IBXM := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_SCREENSHOTS := 1 HAVE_REWIND := 1 HAVE_AUDIOMIXER := 1 HAVE_RWAV := 1 RARCH_CONSOLE = 1 HAVE_CORE_INFO_CACHE := 1 ifeq ($(platform), wii) #HAVE_LANGEXTRA := 1 HAVE_WIIUSB_HID := 1 HAVE_RARCH_EXEC := 1 HAVE_RSOUND := 1 APP_BOOTER_DIR = wii/app_booter PLATOBJS := $(APP_BOOTER_DIR)/app_booter.binobj ifeq ($(USBGECKO), 1) CFLAGS += -DUSBGECKO endif endif # Libxenon (Xbox 360) else ifeq ($(platform), xenon360) CC = xenon-gcc$(EXE_EXT) CXX = xenon-g++$(EXE_EXT) OBJCOPY = xenon-objcopy$(EXE_EXT) LD = xenon-ld$(EXE_EXT) STRIP = xenon-strip$(EXE_EXT) INCLUDE += -I$(DEVKITXENON)/usr/include EXT_TARGET := $(TARGET_NAME)_$(platform).elf32 EXT_INTER_TARGET := $(TARGET_NAME)_$(platform).elf LIBS += -lxenon -lm -lc LIBDIRS += -L. -L$(DEVKITXENON)/usr/lib -L$(DEVKITXENON)/xenon/lib/32 LDFLAGS += -Wl,-q -m32 -n -T$(DEVKITXENON)/app.lds PLATCFLAGS := -DHAVE_GETOPT_LONG=1 PLATCFLAGS += -maltivec -mhard-float -m32 -mpowerpc64 -mcpu=cell -mtune=cell -fno-pic -g -Wall -DXENON $(INCDIRS) -Wno-char-subscripts PLATCFLAGS += -u read -u _start -u exc_base HAVE_THREADS := 1 HAVE_GETOPT_LONG := 1 RARCH_CONSOLE = 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 # PSP else ifeq ($(platform), psp1) CC = psp-gcc$(EXE_EXT) CXX = psp-g++$(EXE_EXT) LD = psp-ld$(EXE_EXT) INCLUDE += -I$(PSPSDK)/psp/sdk/include EXT_TARGET := $(TARGET_NAME)_$(platform).elf EXT_INTER_TARGET := $(TARGET_NAME)_$(platform).elf PLATCFLAGS := -DPSP -D_PSP_FW_VERSION=150 -G0 \ -D_MIPS_ARCH_ALLEGREX LIBS += -lpspgu -lpspgum -lm -lpspaudio -lpspfpu -lpsppower -lpsprtc -lpspkernel LIBDIRS += -L. LDFLAGS += -Wl,-q BUILD_PRX = 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_KERNEL_PRX := 1 #HAVE_LANGEXTRA := 1 RARCH_CONSOLE = 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_CORE_INFO_CACHE := 1 ifeq ($(BUILD_PRX), 1) LDFLAGS += $(addprefix -L,$(PSPSDK)/lib) -specs=$(PSPSDK)/lib/prxspecs -Wl,-q,-T$(PSPSDK)/lib/linkfile.prx $(LDFLAGS) endif # Vita else ifeq ($(platform), vita) CC = arm-vita-eabi-gcc$(EXE_EXT) CXX = arm-vita-eabi-g++$(EXE_EXT) LD = arm-vita-eabi-ld$(EXE_EXT) EXT_TARGET := $(TARGET_NAME)_$(platform).velf EXT_INTER_TARGET := $(TARGET_NAME)_$(platform).elf MACHDEP := -DVITA INCLUDE += -Ideps/libvita2d/include PLATCFLAGS := -mfloat-abi=hard -fsingle-precision-constant \ -mword-relocations -fno-unwind-tables -fno-asynchronous-unwind-tables -ftree-vectorize -fno-optimize-sibling-calls LIBS += -lSceDisplay_stub -lSceGxm_stub -lSceNet_stub -lSceNetCtl_stub\ -lSceSysmodule_stub -lSceCtrl_stub -lSceHid_stub -lSceTouch_stub -lSceAudio_stub -lSceFiber_stub\ -lScePower_stub -lSceRtc_stub -lSceCommonDialog_stub -lScePgf_stub \ -lSceMotion_stub -lSceAppMgr_stub -lpng -lm -lc PLATOBJS += $(DEPS_DIR)/libvita2d/shader/clear_v_gxp.o \ $(DEPS_DIR)/libvita2d/shader/clear_f_gxp.o \ $(DEPS_DIR)/libvita2d/shader/color_v_gxp.o \ $(DEPS_DIR)/libvita2d/shader/color_f_gxp.o \ $(DEPS_DIR)/libvita2d/shader/texture_v_gxp.o \ $(DEPS_DIR)/libvita2d/shader/texture_f_gxp.o \ $(DEPS_DIR)/libvita2d/shader/texture_tint_f_gxp.o PLATOBJS += \ libretro-common/audio/conversion/s16_to_float_neon.o \ libretro-common/audio/conversion/float_to_s16_neon.o \ memory/neon/memcpy-neon.o \ libretro-common/audio/resampler/drivers/sinc_resampler_neon.o \ audio/drivers_resampler/cc_resampler_neon.o LIBDIRS += -L. LDFLAGS += -Wl,-q HAVE_DSP_FILTER := 1 HAVE_VIDEO_FILTER := 1 HAVE_FILTERS_BUILTIN := 1 HAVE_LANGEXTRA := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_VITA2D := 1 HAVE_NETWORKING := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 RARCH_CONSOLE = 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_CORE_INFO_CACHE := 1 else ifeq ($(platform), windows_msvc6_x86) HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_NETWORKING := 0 HAVE_NETWORK_CMD := 1 HAVE_NETPLAYDISCOVERY := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_COMMAND := 1 HAVE_STDIN_CMD := 1 HAVE_CMD := 1 HAVE_DYLIB := 1 HAVE_DYNAMIC := 1 HAVE_GRIFFIN_CPP := 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_CORE_INFO_CACHE := 1 EXT_TARGET := $(TARGET_NAME).exe EXT_INTER_TARGET := $(TARGET_NAME).exe CC = cl.exe CXX = cl.exe LD = link.exe PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT=0x0351 -D__STDC_CONSTANT_MACROS -D_MBCS LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib VCDIR ?= $(shell reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\DevStudio\6.0\Products\Microsoft Visual C++" -v "ProductDir" | grep -io '[A-Z]:\\.*') PATH := $(shell IFS=$$'\n'; cygpath "$(VCDIR)/bin"):$(PATH) PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VCDIR)/../Common/MSDev98/Bin") INCLUDE := $(shell IFS=$$'\n'; cygpath -w "$(VCDIR)/Include") LIB := $(shell IFS=$$'\n'; cygpath -w "$(VCDIR)/Lib") export INCLUDE := $(INCLUDE);$(INETSDK)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(INETSDK)\Lib else ifeq ($(platform), windows_msvc2003_x86) HAVE_GDI := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_NETWORKING := 1 HAVE_NETWORK_CMD := 1 HAVE_NETPLAYDISCOVERY := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_COMMAND := 1 HAVE_STDIN_CMD := 1 HAVE_CMD := 1 HAVE_DYLIB := 1 HAVE_DYNAMIC := 1 HAVE_GRIFFIN_CPP := 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_GFX_WIDGETS := 1 HAVE_CORE_INFO_CACHE := 1 EXT_TARGET := $(TARGET_NAME).exe EXT_INTER_TARGET := $(TARGET_NAME).exe CC = cl.exe CXX = cl.exe LD = link.exe PLATCFLAGS += -D_WIN32 -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 -D__STDC_CONSTANT_MACROS -D_MBCS -D_VC80_UPGRADE=0x0710 PLATCFLAGS += -DHAVE_GFX_WIDGETS LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib PATH := $(shell IFS=$$'\n'; cygpath "$(VS71COMNTOOLS)../../Vc7/bin"):$(PATH) PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VS71COMNTOOLS)../IDE") INCLUDE := $(shell IFS=$$'\n'; cygpath -w "$(VS71COMNTOOLS)../../Vc7/include") LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS71COMNTOOLS)../../Vc7/lib") ifeq ($(HAVE_DIRECTX), 1) PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND DXSDK_DIR := $(DXSDK_DIR:\=) export INCLUDE := $(INCLUDE);$(INETSDK)\Include;$(DXSDK_DIR)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(INETSDK)\Lib;$(DXSDK_DIR)\Lib\x86 else export INCLUDE := $(INCLUDE);$(INETSDK)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(INETSDK)\Lib endif else ifeq ($(platform), windows_msvc2005_x86) HAVE_GDI := 1 HAVE_REWIND := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_NETWORKING := 1 HAVE_NETWORK_CMD := 1 HAVE_NETPLAYDISCOVERY := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_OZONE := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_COMMAND := 1 HAVE_STDIN_CMD := 1 HAVE_CMD := 1 HAVE_DYLIB := 1 HAVE_DYNAMIC := 1 HAVE_GRIFFIN_CPP := 1 HAVE_RUNAHEAD := 1 HAVE_DIRECTX ?= 1 HAVE_OPENGL := 1 HAVE_OPENGL1 := 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_DSP_FILTER := 1 HAVE_VIDEO_FILTER := 1 HAVE_FILTERS_BUILTIN := 1 HAVE_GFX_WIDGETS := 1 HAVE_CORE_INFO_CACHE := 1 EXT_TARGET := $(TARGET_NAME).exe EXT_INTER_TARGET := $(TARGET_NAME).exe CC = cl.exe CXX = cl.exe LD = link.exe PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT=0x0410 -D__STDC_CONSTANT_MACROS -D_MBCS PLATCFLAGS += -DHAVE_OPENGL -DHAVE_OPENGL1 -DHAVE_GLSL -DHAVE_OZONE -DHAVE_GFX_WIDGETS -DHAVE_CC_RESAMPLER PLATCFLAGS += -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DHAVE_CDROM PLATCFLAGS += -bigobj LDFLAGS += -MANIFEST shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib msimg32.lib PATH := $(shell IFS=$$'\n'; cygpath "$(VS80COMNTOOLS)../../VC/bin"):$(PATH) PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VS80COMNTOOLS)../IDE") INCLUDE := $(shell IFS=$$'\n'; cygpath -w "$(VS80COMNTOOLS)../../VC/include") LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS80COMNTOOLS)../../VC/lib") WindowsSdkDir := $(shell reg query "HKLM\SOFTWARE\Microsoft\MicrosoftSDK\InstalledSDKs\8F9E5EF3-A9A5-491B-A889-C58EFFECE8B3" -v "Install Dir" | grep -o '[A-Z]:\\.*') WindowsSDKIncludeDir := $(shell cygpath -w "$(WindowsSdkDir)\Include") WindowsSDKAtlIncludeDir := $(shell cygpath -w "$(WindowsSdkDir)\Include\atl") WindowsSDKCrtIncludeDir := $(shell cygpath -w "$(WindowsSdkDir)\Include\crt") WindowsSDKGlIncludeDir := $(shell cygpath -w "$(WindowsSdkDir)\Include\gl") WindowsSDKMfcIncludeDir := $(shell cygpath -w "$(WindowsSdkDir)\Include\mfc") WindowsSDKLibDir := $(shell cygpath -w "$(WindowsSdkDir)\Lib") INCLUDE := $(INCLUDE);$(WindowsSDKIncludeDir);$(WindowsSDKAtlIncludeDir);$(WindowsSDKCrtIncludeDir);$(WindowsSDKGlIncludeDir);$(WindowsSDKMfcIncludeDir);libretro/msvc/msvc-2005 LIB := $(LIB);$(WindowsSDKLibDir) ifeq ($(HAVE_DIRECTX), 1) PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND -DHAVE_D3D -DHAVE_D3D8 DXSDK_DIR := $(DXSDK_DIR:\=) export INCLUDE := $(INCLUDE);$(INETSDK)\Include;$(DXSDK_DIR)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(INETSDK)\Lib;$(DXSDK_DIR)\Lib\x86 else export INCLUDE := $(INCLUDE);$(INETSDK)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(INETSDK)\Lib endif else ifneq (,$(findstring windows_msvc2010,$(platform))) HAVE_GDI := 1 HAVE_CHEEVOS := 1 HAVE_SCREENSHOTS := 1 HAVE_REWIND := 1 HAVE_AUDIOMIXER := 1 HAVE_RWAV := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_NETWORKING := 1 HAVE_NETWORK_CMD := 1 HAVE_NETPLAYDISCOVERY := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_OZONE := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_COMMAND := 1 HAVE_STDIN_CMD := 1 HAVE_CMD := 1 HAVE_DYLIB := 1 HAVE_DYNAMIC := 1 HAVE_GRIFFIN_CPP := 1 HAVE_RUNAHEAD := 1 HAVE_DIRECTX ?= 1 HAVE_OPENGL := 1 HAVE_OPENGL1 := 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_DSP_FILTER := 1 HAVE_VIDEO_FILTER := 1 HAVE_FILTERS_BUILTIN := 1 HAVE_GFX_WIDGETS := 1 HAVE_CORE_INFO_CACHE := 1 EXT_TARGET := $(TARGET_NAME).exe EXT_INTER_TARGET := $(TARGET_NAME).exe CC = cl.exe CXX = cl.exe LD = link.exe PLATCFLAGS += -D_WIN32 -D__STDC_CONSTANT_MACROS -D_MBCS PLATCFLAGS += -D__i686__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS PLATCFLAGS += -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA PLATCFLAGS += -DHAVE_OPENGL -DHAVE_OPENGL1 -DHAVE_OZONE PLATCFLAGS += -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DWIN32 -DHAVE_CDROM PLATCFLAGS += -DHAVE_GFX_WIDGETS PLATCFLAGS += -bigobj LDFLAGS += -MANIFEST shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib msimg32.lib PlatformSuffix = $(subst windows_msvc2010_,,$(platform)) ifneq (,$(findstring x64,$(PlatformSuffix))) ifeq ($(HOST_ARCH),x86) # cross-compile for x64 from x86 host PATH := $(shell IFS=$$'\n'; cygpath "$(VS100COMNTOOLS)../../VC/bin/x86_amd64"):$(PATH) else PATH := $(shell IFS=$$'\n'; cygpath "$(VS100COMNTOOLS)../../VC/bin/amd64"):$(PATH) endif LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS100COMNTOOLS)../../VC/lib/amd64") WinArch = x64 PlatLib = Lib\x64 else PATH := $(shell IFS=$$'\n'; cygpath "$(VS100COMNTOOLS)../../VC/bin"):$(PATH) LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS100COMNTOOLS)../../VC/lib") WinArch = x86 PlatLib = Lib endif PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VS100COMNTOOLS)../IDE") INCLUDE := $(shell IFS=$$'\n'; cygpath -w "$(VS100COMNTOOLS)../../VC/include") WindowsSdkDir ?= $(shell reg query "HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1A" -v "InstallationFolder" | grep -io '[A-Z]:\\.*') WindowsSdkDir ?= $(shell reg query "HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A" -v "InstallationFolder" | grep -io '[A-Z]:\\.*') WindowsSdkDir := $(WindowsSdkDir:\=) ifeq ($(HAVE_DIRECTX), 1) PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND -DHAVE_D3D -DHAVE_D3D8 -DHAVE_XAUDIO -DHAVE_XINPUT DXSDK_DIR := $(DXSDK_DIR:\=) export INCLUDE := $(INCLUDE);$(WindowsSdkDir)\Include;$(DXSDK_DIR)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(WindowsSdkDir)\$(PlatLib);$(DXSDK_DIR)\Lib\$(WinArch) else export INCLUDE := $(INCLUDE);$(WindowsSdkDir)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(WindowsSdkDir)\$(PlatLib) endif else ifneq (,$(findstring windows_msvc2012,$(platform))) HAVE_GDI := 1 HAVE_SCREENSHOTS := 1 HAVE_REWIND := 1 HAVE_AUDIOMIXER := 1 HAVE_RWAV := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_NETWORKING := 1 HAVE_NETWORK_CMD := 1 HAVE_NETPLAYDISCOVERY := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_COMMAND := 1 HAVE_STDIN_CMD := 1 HAVE_CMD := 1 HAVE_DYLIB := 1 HAVE_DYNAMIC := 1 HAVE_GRIFFIN_CPP := 1 HAVE_RUNAHEAD := 1 HAVE_DIRECTX ?= 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_CORE_INFO_CACHE := 1 EXT_TARGET := $(TARGET_NAME).exe EXT_INTER_TARGET := $(TARGET_NAME).exe CC = cl.exe CXX = cl.exe LD = link.exe PLATCFLAGS += -D_WIN32 -D__STDC_CONSTANT_MACROS -D_MBCS PLATCFLAGS += -D__i686__ -D__MMX__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DWIN32 -DHAVE_CDROM LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib PlatformSuffix = $(subst windows_msvc2012_,,$(platform)) ifneq (,$(findstring x64,$(PlatformSuffix))) ifeq ($(HOST_ARCH),x86) # cross-compile for x64 from x86 host PATH := $(shell IFS=$$'\n'; cygpath "$(VS110COMNTOOLS)../../VC/bin/x86_amd64"):$(PATH) else PATH := $(shell IFS=$$'\n'; cygpath "$(VS110COMNTOOLS)../../VC/bin/amd64"):$(PATH) endif LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS110COMNTOOLS)../../VC/lib/amd64") WinArch = x64 PlatLib = Lib\winv6.3\um\x64 else ifneq (,$(findstring arm,$(PlatformSuffix))) PATH := $(shell IFS=$$'\n'; cygpath "$(VS110COMNTOOLS)../../VC/bin/x86_arm"):$(PATH) LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS110COMNTOOLS)../../VC/lib/arm") HAVE_DIRECTX = 0 PlatLib = Lib\winv6.3\um\arm else PATH := $(shell IFS=$$'\n'; cygpath "$(VS110COMNTOOLS)../../VC/bin"):$(PATH) LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS110COMNTOOLS)../../VC/lib") WinArch = x86 PlatLib = Lib\winv6.3\um\x86 endif PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VS110COMNTOOLS)../IDE") INCLUDE := $(shell IFS=$$'\n'; cygpath -w "$(VS110COMNTOOLS)../../VC/include") WindowsSdkDir ?= $(shell reg query "HKLM\SOFTWARE\Microsoft\Windows Kits\Installed Roots" -v "KitsRoot81" | grep -io '[A-Z]:\\.*') WindowsSdkDir := $(WindowsSdkDir:\=) ifeq ($(HAVE_DIRECTX), 1) PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND -DHAVE_D3D -DHAVE_D3D9 -DHAVE_XAUDIO -DHAVE_XINPUT DXSDK_DIR := $(DXSDK_DIR:\=) export INCLUDE := $(INCLUDE);$(WindowsSdkDir)\Include\um;$(WindowsSdkDir)\Include\shared;$(DXSDK_DIR)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(WindowsSdkDir)\$(PlatLib);$(DXSDK_DIR)\Lib\$(WinArch) else export INCLUDE := $(INCLUDE);$(WindowsSdkDir)\Include\um;$(WindowsSdkDir)\Include\shared;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(WindowsSdkDir)\$(PlatLib) endif else ifneq (,$(findstring windows_msvc2013,$(platform))) HAVE_GDI := 1 HAVE_SCREENSHOTS := 1 HAVE_REWIND := 1 HAVE_AUDIOMIXER := 1 HAVE_RWAV := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_NETWORKING := 1 HAVE_NETWORK_CMD := 1 HAVE_NETPLAYDISCOVERY := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_COMMAND := 1 HAVE_STDIN_CMD := 1 HAVE_CMD := 1 HAVE_DYLIB := 1 HAVE_DYNAMIC := 1 HAVE_GRIFFIN_CPP := 1 HAVE_RUNAHEAD := 1 HAVE_DIRECTX ?= 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_CORE_INFO_CACHE := 1 EXT_TARGET := $(TARGET_NAME).exe EXT_INTER_TARGET := $(TARGET_NAME).exe CC = cl.exe CXX = cl.exe LD = link.exe PLATCFLAGS += -D_WIN32 -D__STDC_CONSTANT_MACROS -D_MBCS PLATCFLAGS += -D__i686__ -D__MMX__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DWIN32 -DHAVE_CDROM LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib PlatformSuffix = $(subst windows_msvc2013_,,$(platform)) ifneq (,$(findstring x64,$(PlatformSuffix))) ifeq ($(HOST_ARCH),x86) # cross-compile for x64 from x86 host PATH := $(shell IFS=$$'\n'; cygpath "$(VS120COMNTOOLS)../../VC/bin/x86_amd64"):$(PATH) else PATH := $(shell IFS=$$'\n'; cygpath "$(VS120COMNTOOLS)../../VC/bin/amd64"):$(PATH) endif LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS120COMNTOOLS)../../VC/lib/amd64") WinArch = x64 PlatLib = Lib\winv6.3\um\x64 else ifneq (,$(findstring arm,$(PlatformSuffix))) PATH := $(shell IFS=$$'\n'; cygpath "$(VS120COMNTOOLS)../../VC/bin/x86_arm"):$(PATH) LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS120COMNTOOLS)../../VC/lib/arm") HAVE_DIRECTX = 0 PlatLib = Lib\winv6.3\um\arm else PATH := $(shell IFS=$$'\n'; cygpath "$(VS120COMNTOOLS)../../VC/bin"):$(PATH) LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS120COMNTOOLS)../../VC/lib") WinArch = x86 PlatLib = Lib\winv6.3\um\x86 endif PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VS120COMNTOOLS)../IDE") INCLUDE := $(shell IFS=$$'\n'; cygpath -w "$(VS120COMNTOOLS)../../VC/include") WindowsSdkDir ?= $(shell reg query "HKLM\SOFTWARE\Microsoft\Windows Kits\Installed Roots" -v "KitsRoot81" | grep -io '[A-Z]:\\.*') WindowsSdkDir := $(WindowsSdkDir:\=) ifeq ($(HAVE_DIRECTX), 1) PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND -DHAVE_D3D -DHAVE_D3D9 -DHAVE_XAUDIO -DHAVE_XINPUT DXSDK_DIR := $(DXSDK_DIR:\=) export INCLUDE := $(INCLUDE);$(WindowsSdkDir)\Include\um;$(WindowsSdkDir)\Include\shared;$(DXSDK_DIR)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(WindowsSdkDir)\$(PlatLib);$(DXSDK_DIR)\Lib\$(WinArch) else export INCLUDE := $(INCLUDE);$(WindowsSdkDir)\Include\um;$(WindowsSdkDir)\Include\shared;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(WindowsSdkDir)\$(PlatLib) endif else ifneq (,$(findstring windows_msvc2015,$(platform))) HAVE_GDI := 1 HAVE_SCREENSHOTS := 1 HAVE_REWIND := 1 HAVE_AUDIOMIXER := 1 HAVE_RWAV := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_NETWORKING := 1 HAVE_NETWORK_CMD := 1 HAVE_NETPLAYDISCOVERY := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_COMMAND := 1 HAVE_STDIN_CMD := 1 HAVE_CMD := 1 HAVE_DYLIB := 1 HAVE_DYNAMIC := 1 HAVE_GRIFFIN_CPP := 1 HAVE_RUNAHEAD := 1 HAVE_DIRECTX ?= 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_CORE_INFO_CACHE := 1 EXT_TARGET := $(TARGET_NAME).exe EXT_INTER_TARGET := $(TARGET_NAME).exe CC = cl.exe CXX = cl.exe LD = link.exe PLATCFLAGS += -utf-8 PLATCFLAGS += -D_WIN32 -D__STDC_CONSTANT_MACROS -D_MBCS PLATCFLAGS += -D__i686__ -D__MMX__ -D__SSE__ -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -D_WINDOWS -DHAVE_CC_RESAMPLER -DHAVE_GL_SYNC -DHAVE_GLSL -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DWIN32 -DHAVE_CDROM LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib PlatformSuffix = $(subst windows_msvc2015_,,$(platform)) ifneq (,$(findstring x64,$(PlatformSuffix))) ifeq ($(HOST_ARCH),x86) # cross-compile for x64 from x86 host PATH := $(shell IFS=$$'\n'; cygpath "$(VS140COMNTOOLS)../../VC/bin/x86_amd64"):$(PATH) else PATH := $(shell IFS=$$'\n'; cygpath "$(VS140COMNTOOLS)../../VC/bin/amd64"):$(PATH) endif LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS140COMNTOOLS)../../VC/lib/amd64") WinArch = x64 PlatLib = um\x64 VCLib = amd64 else ifneq (,$(findstring arm,$(PlatformSuffix))) PATH := $(shell IFS=$$'\n'; cygpath "$(VS140COMNTOOLS)../../VC/bin/x86_arm"):$(PATH) LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS140COMNTOOLS)../../VC/lib/arm") HAVE_DIRECTX = 0 WinArch = arm PlatLib = um\arm VCLib = arm else PATH := $(shell IFS=$$'\n'; cygpath "$(VS140COMNTOOLS)../../VC/bin"):$(PATH) LIB := $(shell IFS=$$'\n'; cygpath -w "$(VS140COMNTOOLS)../../VC/lib") WinArch = x86 PlatLib = um\x86 VCLib = endif PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VS140COMNTOOLS)../IDE") INCLUDE := $(shell IFS=$$'\n'; cygpath -w "$(VS140COMNTOOLS)../../VC/include") reg_query = $(call filter_out2,$(subst $2,,$(shell reg query "$2" -v "$1" 2>nul))) fix_path = $(subst $(SPACE),\ ,$(subst \,/,$1)) WindowsSdkDir ?= $(call reg_query,InstallationFolder,HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0) WindowsSdkDir ?= $(call reg_query,InstallationFolder,HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows\v10.0) WindowsSdkDir ?= $(call reg_query,InstallationFolder,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0) WindowsSdkDir ?= $(call reg_query,InstallationFolder,HKEY_CURRENT_USER\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0) WindowsSdkDir := $(WindowsSdkDir) WindowsSDKVersion ?= $(firstword $(foreach folder,$(subst $(subst \,/,$(WindowsSdkDir)Include/),,$(wildcard $(call fix_path,$(WindowsSdkDir)Include\*))),$(if $(wildcard $(call fix_path,$(WindowsSdkDir)Include/$(folder)/um/Windows.h)),$(folder),)))$(BACKSLASH) WindowsSDKVersion := $(WindowsSDKVersion) export INCLUDE := $(INCLUDE);$(VCINSTALLDIR)INCLUDE;$(VCINSTALLDIR)ATLMFC\INCLUDE;$(WindowsSdkDir)include\$(WindowsSDKVersion)ucrt;$(WindowsSdkDir)include\$(WindowsSDKVersion)shared;$(WindowsSdkDir)include\$(WindowsSDKVersion)um export LIB := $(LIB);$(VCINSTALLDIR)LIB$(VCLib);$(VCINSTALLDIR)ATLMFC\LIB$(VCLib);$(WindowsSdkDir)lib\$(WindowsSDKVersion)ucrt\$(WinArch);$(WindowsSdkDir)lib\$(WindowsSDKVersion)$(PlatLib) ifeq ($(HAVE_DIRECTX), 1) PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND -DHAVE_D3D -DHAVE_D3D9 -DHAVE_XAUDIO -DHAVE_XINPUT DXSDK_DIR := $(DXSDK_DIR:\=) export INCLUDE := $(INCLUDE);$(DXSDK_DIR)\Include;libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB);$(DXSDK_DIR)\Lib\$(WinArch) else export INCLUDE := $(INCLUDE);libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps;deps\stb export LIB := $(LIB) endif else ifeq (qnx,$(platform)) HAVE_SCREENSHOTS := 1 HAVE_REWIND := 1 HAVE_AUDIOMIXER := 1 HAVE_RWAV := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_NETWORKING := 1 HAVE_NETWORK_CMD := 1 HAVE_NETPLAYDISCOVERY := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_COMMAND := 1 HAVE_STDIN_CMD := 1 HAVE_CMD := 1 HAVE_DYLIB := 1 HAVE_DYNAMIC := 1 HAVE_GRIFFIN_CPP := 0 WANT_GLSLANG := 0 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_CORE_INFO_CACHE := 1 CC=qcc -Vgcc_ntoarmv7le CXX=QCC -Vgcc_ntoarmv7le ifeq ($(DEBUG), 1) LDFLAGS += -g endif PLATCFLAGS += -DHAVE_SHADERPIPELINE -DHAVE_OPENGL -DHAVE_OPENGLES -DHAVE_OPENGLES2 -DHAVE_OZONE -DHAVE_CC_RESAMPLER -DHAVE_CHEEVOS -DRC_DISABLE_LUA -DHAVE_GL_SYNC -DHAVE_GLSLANG -DHAVE_BUILTINGLSLANG -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_RUNAHEAD -DHAVE_GFX_WIDGETS -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_SPIRV_CROSS -DHAVE_STB_FONT -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DHAVE_XMB -DRARCH_INTERNAL -DWANT_GLSLANG -DHAVE_XCB -DHAVE_EGL -DHAVE_BB10 -DHAVE_GLSL -DHAVE_AL -DHAVE_BSV_MOVIE -DRARCH_MOBILE EXT_TARGET := $(TARGET_NAME) EXT_INTER_TARGET := $(TARGET_NAME) INCLUDE += -Ilibretro-common/include -Igfx/include -Ideps -Ideps/stb -Ideps/rcheevos/include -Ideps/SPIRV-Cross -Ideps/glslang -I. LIBS += -lEGL -lbps -lscreen -lsocket -lm -lGLESv2 -lOpenAL else ifneq (,$(findstring unix,$(platform))) HAVE_SCREENSHOTS := 1 HAVE_REWIND := 1 HAVE_AUDIOMIXER := 1 HAVE_RWAV := 1 HAVE_RPNG := 1 HAVE_RJPEG := 1 HAVE_RBMP := 1 HAVE_RTGA := 1 HAVE_ZLIB := 1 HAVE_7ZIP := 1 HAVE_NETWORKING := 1 HAVE_NETWORK_CMD := 1 HAVE_NETPLAYDISCOVERY := 1 HAVE_OVERLAY := 1 HAVE_VIDEO_LAYOUT := 0 HAVE_MATERIALUI := 1 HAVE_XMB := 1 HAVE_STB_FONT := 1 HAVE_THREADS := 1 HAVE_LIBRETRODB := 1 HAVE_COMMAND := 1 HAVE_STDIN_CMD := 1 HAVE_CMD := 1 HAVE_DYLIB := 1 HAVE_DYNAMIC := 1 HAVE_GRIFFIN_CPP := 1 WANT_GLSLANG := 1 HAVE_CONFIGFILE := 1 HAVE_PATCH := 1 HAVE_CHEATS := 1 HAVE_CORE_INFO_CACHE := 1 PLATCFLAGS += -D__MMX__ -D__SSE__ -DHAVE_OPENGL -DHAVE_OPENGL1 -DHAVE_GLSL -DHAVE_SHADERPIPELINE -DHAVE_OZONE -DHAVE_CC_RESAMPLER -DHAVE_CHEEVOS -DRC_DISABLE_LUA -DHAVE_GL_SYNC -DHAVE_SLANG -DHAVE_GLSLANG -DHAVE_BUILTINGLSLANG -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_RUNAHEAD -DHAVE_GFX_WIDGETS -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_SPIRV_CROSS -DHAVE_STB_FONT -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES -DHAVE_VULKAN -DHAVE_XMB -DRARCH_INTERNAL -DWANT_GLSLANG -DHAVE_X11 -DHAVE_XCB -DHAVE_UDEV -DHAVE_BSV_MOVIE -DHAVE_PULSE EXT_TARGET := $(TARGET_NAME) EXT_INTER_TARGET := $(TARGET_NAME) INCLUDE += -Ilibretro-common/include -Igfx/include -Ideps -Ideps/stb -Ideps/rcheevos/include -Ideps/SPIRV-Cross -Ideps/glslang -I. LIBS += -ldl -lm -lpthread -lGL -ludev -lpulse -lX11 -lX11-xcb -lXxf86vm endif ifneq (,$(findstring msvc,$(platform))) CFLAGS += -W3 $(MACHDEP) $(PLATCFLAGS) else CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(PLATCFLAGS) $(INCLUDE) INCLUDE += -I./libretro-common/include \ -Ideps \ -Ideps/stb endif OBJ = griffin/griffin.o $(PLATOBJS) ifeq ($(HAVE_GRIFFIN_CPP), 1) OBJ += griffin/griffin_cpp.o endif ifeq ($(WANT_GLSLANG), 1) OBJ += griffin/griffin_glslang.o endif ifeq ($(HAVE_LOGGER), 1) CFLAGS += -DHAVE_LOGGER CFLAGS += -DPC_DEVELOPMENT_IP_ADDRESS=\"$(PC_DEVELOPMENT_IP_ADDRESS)\" -DPC_DEVELOPMENT_UDP_PORT=$(PC_DEVELOPMENT_UDP_PORT) endif ifeq ($(platform), wii) CFLAGS += -DHAVE_SOCKET_LEGACY endif ifeq ($(platform), vita) CFLAGS += -DHAVE_SOCKET_LEGACY endif ifeq ($(HAVE_KERNEL_PRX), 1) CFLAGS += -DHAVE_KERNEL_PRX endif ifeq ($(HAVE_WIIUSB_HID), 1) CFLAGS += -DHAVE_WIIUSB_HID -DHAVE_HID endif ifeq ($(HAVE_VITA2D), 1) CFLAGS += -DHAVE_VITA2D endif ifeq ($(HAVE_LIBRETRODB), 1) CFLAGS += -DHAVE_LIBRETRODB endif ifeq ($(BIG_STACK),1) CFLAGS += -DBIG_STACK endif ifeq ($(HAVE_RJPEG), 1) CFLAGS += -DHAVE_RJPEG endif ifeq ($(HAVE_FILE_LOGGER), 1) CFLAGS += -DHAVE_FILE_LOGGER endif ifeq ($(HAVE_RARCH_EXEC), 1) CFLAGS += -DHAVE_RARCH_EXEC endif ifeq ($(HAVE_ZLIB), 1) CFLAGS += -DHAVE_ZLIB CFLAGS += -I./libretro-common/include/compat/zlib endif ifeq ($(HAVE_RPNG), 1) CFLAGS += -DHAVE_RPNG endif ifeq ($(HAVE_RBMP), 1) CFLAGS += -DHAVE_RBMP endif ifeq ($(HAVE_RTGA), 1) CFLAGS += -DHAVE_RTGA endif ifeq ($(HAVE_IMAGEVIEWER), 1) CFLAGS += -DHAVE_IMAGEVIEWER endif ifeq ($(HAVE_BSV_MOVIE), 1) CFLAGS += -DHAVE_BSV_MOVIE endif ifeq ($(HAVE_RUNAHEAD), 1) CFLAGS += -DHAVE_RUNAHEAD endif ifeq ($(HAVE_7ZIP), 1) CFLAGS += -DHAVE_7ZIP -D_7ZIP_ST endif ifeq ($(HAVE_SCREENSHOTS), 1) CFLAGS += -DHAVE_SCREENSHOTS endif ifeq ($(HAVE_REWIND), 1) CFLAGS += -DHAVE_REWIND endif ifeq ($(HAVE_AUDIOMIXER), 1) CFLAGS += -DHAVE_AUDIOMIXER endif ifeq ($(HAVE_RWAV), 1) CFLAGS += -DHAVE_RWAV endif ifeq ($(HAVE_OVERLAY), 1) CFLAGS += -DHAVE_OVERLAY endif ifeq ($(HAVE_VIDEO_LAYOUT), 1) CFLAGS += -DHAVE_VIDEO_LAYOUT endif ifeq ($(HAVE_NETWORKING), 1) CFLAGS += -DHAVE_NETWORKING endif ifeq ($(HAVE_NETPLAYDISCOVERY), 1) CFLAGS += -DHAVE_NETPLAYDISCOVERY endif ifeq ($(RARCH_CONSOLE), 1) CFLAGS += -DRARCH_CONSOLE endif ifeq ($(HAVE_CORE_INFO_CACHE), 1) CFLAGS += -DHAVE_CORE_INFO_CACHE endif ifeq ($(RARCH_MOBILE), 1) CFLAGS += -DRARCH_MOBILE endif ifneq (,$(findstring msvc,$(platform))) CFLAGS += -DHAVE_RGUI -DHAVE_MENU -DHAVE_GRIFFIN=1 -DRARCH_INTERNAL else CFLAGS += -std=gnu99 -DHAVE_RGUI -DHAVE_MENU -DHAVE_GRIFFIN=1 -Wno-char-subscripts -DRARCH_INTERNAL endif ifeq ($(HAVE_MATERIALUI), 1) CFLAGS += -DHAVE_MATERIALUI endif ifeq ($(HAVE_XMB), 1) CFLAGS += -DHAVE_XMB endif ifeq ($(HAVE_STB_FONT), 1) CFLAGS += -DHAVE_STB_FONT endif ifeq ($(HAVE_LANGEXTRA), 1) CFLAGS += -DHAVE_LANGEXTRA endif ifeq ($(HAVE_DSP_FILTER), 1) CFLAGS += -DHAVE_DSP_FILTER endif ifeq ($(HAVE_VIDEO_FILTER), 1) CFLAGS += -DHAVE_VIDEO_FILTER endif ifeq ($(HAVE_FILTERS_BUILTIN), 1) CFLAGS += -DHAVE_FILTERS_BUILTIN endif ifeq ($(HAVE_WINDOW_OFFSET), 1) CFLAGS += -DHAVE_WINDOW_OFFSET endif ifeq ($(HAVE_THREADS), 1) CFLAGS += -DHAVE_THREADS ifeq ($(platform), psp1) LIBS += -lpthread-psp endif ifeq ($(platform), vita) LIBS += -lpthread endif endif ifeq ($(HAVE_CONFIGFILE), 1) CFLAGS += -DHAVE_CONFIGFILE endif ifeq ($(HAVE_PATCH), 1) CFLAGS += -DHAVE_PATCH endif ifeq ($(HAVE_CHEATS), 1) CFLAGS += -DHAVE_CHEATS endif ifeq ($(HAVE_RSOUND), 1) CFLAGS += -DHAVE_RSOUND endif ifeq ($(HAVE_GETOPT_LONG), 1) CFLAGS += -DHAVE_GETOPT_LONG=1 endif ifeq ($(HAVE_DYLIB), 1) CFLAGS += -DHAVE_DYLIB endif ifeq ($(HAVE_NETWORK_CMD), 1) CFLAGS += -DHAVE_NETWORK_CMD endif ifeq ($(HAVE_COMMAND), 1) CFLAGS += -DHAVE_COMMAND endif ifeq ($(HAVE_STDIN_CMD), 1) CFLAGS += -DHAVE_STDIN_CMD endif ifeq ($(HAVE_DYNAMIC), 1) CFLAGS += -DHAVE_DYNAMIC endif ifeq ($(DEBUG), 1) ifneq (,$(findstring msvc,$(platform))) ifeq ($(platform), windows_msvc2003_x86) CFLAGS += -Wp64 endif CFLAGS += -Od -Zi -D_DEBUG -MTd LDFLAGS += -DEBUG else CFLAGS += -O0 -g -DDEBUG endif else ifeq ($(platform), psp1) CFLAGS += -O2 else ifeq ($(platform), vita) CFLAGS += -O3 else ifneq (,$(findstring msvc,$(platform))) ifeq ($(platform), windows_msvc2003_x86) CFLAGS += -Wp64 LDFLAGS += -SUBSYSTEM:WINDOWS -ENTRY:mainCRTStartup endif CFLAGS += -O2 -DNDEBUG -MT else CFLAGS += -O3 endif ifneq (,$(findstring msvc,$(platform))) OBJOUT = -Fo LINKOUT = -out: LINK = link.exe else OBJOUT = -o LINKOUT = -o LINK = $(CXX) endif all: $(EXT_TARGET) %.dol: %.elf $(ELF2DOL) $< $@ %.velf: %.elf ifneq ($(DEBUG), 1) arm-vita-eabi-strip -g $< endif vita-elf-create $< $@ vita-make-fself -c -s $@ eboot.bin %.elf32: %.elf ifeq ($(platform), xenon360) $(OBJCOPY) -O elf32-powerpc --adjust-vma 0x80000000 $< $@ endif %.prx: %.elf ifeq ($(platform),psp1) psp-prxgen $< $@ endif $(EXT_INTER_TARGET): $(OBJ) $(LINK) $(LINKOUT)$@ $(LDFLAGS) $(LIBDIRS) $(OBJ) $(PLATEXTRA) $(LIBS) %.o: %.c $(CC) $(CFLAGS) -c $(OBJOUT)$@ $< %.o: %.cpp $(CXX) $(CFLAGS) -c $(OBJOUT)$@ $< %.o: %.S $(CC) $(CFLAGS) -c $(OBJOUT)$@ $< %.bmpobj: %.bmp $(LD) -r -b binary $(OBJOUT)$@ $< %.binobj: %.bin $(LD) -r -b binary $(OBJOUT)$@ $< $(APP_BOOTER_DIR)/app_booter.bin: $(MAKE) -C $(APP_BOOTER_DIR) pkg: all ifeq ($(platform), qnx) mkdir -p pkg/qnx/pkg cp -r $(EXT_TARGET) pkg/qnx/pkg/RetroArch cp -r media/canvas.png pkg/qnx/pkg/canvas.png cp -r media/retroarch-96x96.png pkg/qnx/pkg/retroarch-96x96.png else ifeq ($(platform), wii) cp -r $(EXT_TARGET) pkg/wii/CORE.dol else ifeq ($(platform), ngc) cp -r $(EXT_TARGET) pkg/ngc/CORE.dol else ifeq ($(platform), psp1) psp-fixup-imports$(EXT) $(EXT_TARGET) endif ifeq ($(platform), qnx) retroarch-dev.bar: pkg ifeq ($(QNX_DEBUGTOKEN),) blackberry-nativepackager -package $@ -devMode pkg/qnx/bar-descriptor.xml -C pkg/qnx/pkg pkg/qnx/pkg/* else blackberry-nativepackager -package $@ -devMode -debugToken $(QNX_DEBUGTOKEN) pkg/qnx/bar-descriptor.xml -C pkg/qnx/pkg pkg/qnx/pkg/* endif retroarch-release.bar: pkg blackberry-nativepackager -package $@ pkg/qnx/bar-descriptor.xml -C pkg/qnx/pkg pkg/qnx/pkg/* endif shaders-checkout: @if test -d $(SHADER_CG_DIR); then \ echo "[SHADER CHECKOUT::] Git pulling common-shaders..."; \ cd $(SHADER_CG_DIR); \ $(GIT) pull; \ cd ../../../../..; \ else \ echo "[SHADER CHECKOUT::] Git cloning common-shaders first..."; \ $(GIT) clone git://github.com/libretro/common-shaders.git $(SHADER_CG_DIR); \ fi shaders-deploy: ifeq ($(platform), ps3) @if test -d $(MEDIA_SHADER_DIR); then \ cp -r $(SHADER_CG_DIR)/* $(MEDIA_SHADER_DIR); \ else \ echo "[DEPLOY PS3::] Creating PS3 shader directory first..."; \ mkdir -p $(MEDIA_SHADER_DIR) || bin/true; \ fi @echo "[DEPLOY PS3::] Copied shaders to PS3 shaders directory." else ifeq ($(platform), ps3-cobra) @if test -d $(MEDIA_SHADER_DIR); then \ cp -r $(SHADER_CG_DIR)/* $(MEDIA_SHADER_DIR); \ else \ echo "[DEPLOY PS3::] Creating PS3 shader directory first..."; \ mkdir -p $(MEDIA_SHADER_DIR) || bin/true; \ fi @echo "[DEPLOY PS3::] Copied shaders to PS3 shaders directory." endif shaders-convert-glsl: $(PYTHON3) tools/cg2glsl.py $(SHADER_CG_DIR) $(SHADER_GLSL_DIR) overlays-checkout: @if test -d $(OVERLAY_DIR); then \ echo "[OVERLAY CHECKOUT::] Git pulling common-overlays..."; \ cd $(OVERLAY_DIR); \ $(GIT) pull; \ cd ../../../../..; \ else \ echo "[OVERLAY CHECKOUT::] Git cloning common-overlays first..."; \ $(GIT) clone git://github.com/libretro/common-overlays.git $(OVERLAY_DIR); \ fi clean: rm -f $(EXT_TARGET) rm -f $(EXT_INTER_TARGET) rm -f $(OBJ) ifeq ($(platform), wii) $(MAKE) -C $(APP_BOOTER_DIR) clean endif .PHONY: clean print-%: @echo '$*=$($*)'