mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-07 08:36:02 -10:00
The Vita driver copies the core's frame into its texture a row at a time, the frame's width of each row, or in one copy when the core's rows are the texture's; textures are allocated at their row stride, the width rounded to 8. Both drivers copy with the C library's memcpy, NEON-tuned on their targets, and memory/neon/memcpy-neon.S goes. samples/gfx/gxm_frame_upload runs the driver's frame upload against the psp2 stubs with guarded GPU memory: core rows longer, as long and shorter than the texture's, widths not of 8, rows copied once each, nothing written past the texture or read past the frame.
1399 lines
46 KiB
Makefile
1399 lines
46 KiB
Makefile
ROOT_DIR := .
|
|
DEPS_DIR := $(ROOT_DIR)/deps
|
|
DEBUG = 0
|
|
HAVE_LOGGER = 0
|
|
HAVE_FILE_LOGGER = 0
|
|
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 - devkitPro's libogc
|
|
else ifeq ($(libogc_platform), 1)
|
|
HAVE_OGG_OGC ?= 0
|
|
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.
|
|
|
|
CFLAGS += -DHAVE_LIBOGC
|
|
CXXFLAGS += -DHAVE_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
|
|
|
|
|
|
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 os/gekko/libogc/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 os/gekko/libogc/rvl.ld
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(HAVE_OGG_OGC), 1)
|
|
LIBS += -L$(DEVKITPRO)/portlibs/ppc/lib -lvorbisfile -lvorbis -logg
|
|
endif
|
|
|
|
LIBS += -lfat
|
|
|
|
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_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_RMODTRACKER := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_RZSTD := 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 = os/gekko/rvl/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_RWEBP := 1
|
|
HAVE_RDDS := 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
|
|
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 \
|
|
-lSceMotion_stub -lSceAppMgr_stub -lm -lc
|
|
|
|
PLATOBJS += gfx/drivers/vita_shaders/color_v_gxp.o \
|
|
gfx/drivers/vita_shaders/color_f_gxp.o \
|
|
gfx/drivers/vita_shaders/texture_v_gxp.o \
|
|
gfx/drivers/vita_shaders/texture_f_gxp.o \
|
|
gfx/drivers/vita_shaders/texture_tint_v_gxp.o \
|
|
gfx/drivers/vita_shaders/texture_tint_f_gxp.o
|
|
|
|
PLATOBJS += \
|
|
libretro-common/audio/conversion/s16_to_float_neon.o \
|
|
libretro-common/audio/conversion/float_to_s16_neon.o \
|
|
libretro-common/audio/resampler/drivers/sinc_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_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_GXM := 1
|
|
HAVE_NETWORKING := 1
|
|
HAVE_IFINFO := 1
|
|
HAVE_NETPLAYDISCOVERY := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 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_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_NETWORKING := 0
|
|
HAVE_IFINFO := 0
|
|
HAVE_NETWORK_CMD := 0
|
|
HAVE_NETPLAYDISCOVERY := 0
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 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
|
|
|
|
# _WIN32_WINDOWS says this build runs on 9x, which is what selects
|
|
# libretro-common's ANSI Win32 path. It used to fall out of the low
|
|
# _WIN32_WINNT below, but that is the NT scale and NT is
|
|
# Unicode-native; the two are independent minimums and both apply.
|
|
PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT=0x0351 -D_WIN32_WINDOWS=0x0400 -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
|
|
export LIB := $(LIB);$(INETSDK)\Lib
|
|
else ifeq ($(platform), windows_msvc2003_x86)
|
|
HAVE_GDI := 1
|
|
HAVE_RPNG := 1
|
|
HAVE_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_NETWORKING := 1
|
|
HAVE_IFINFO := 0
|
|
HAVE_NETWORK_CMD := 1
|
|
HAVE_NETPLAYDISCOVERY := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 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
|
|
|
|
# See the msvc6 target: _WIN32_WINDOWS is the 9x minimum, _WIN32_WINNT
|
|
# the NT one.
|
|
PLATCFLAGS += -D_WIN32 -DWINVER=0x0400 -D_WIN32_WINNT=0x0400 -D_WIN32_WINDOWS=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
|
|
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
|
|
export LIB := $(LIB);$(INETSDK)\Lib
|
|
endif
|
|
else ifeq ($(platform), windows_msvc2005_x86)
|
|
HAVE_GDI := 1
|
|
HAVE_REWIND := 1
|
|
HAVE_RPNG := 1
|
|
HAVE_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_NETWORKING := 1
|
|
HAVE_IFINFO := 0
|
|
HAVE_NETWORK_CMD := 1
|
|
HAVE_NETPLAYDISCOVERY := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 1
|
|
HAVE_OZONE := 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
|
|
|
|
# 0x0410 is Windows 98 - a _WIN32_WINDOWS value. On the NT scale it
|
|
# reads as "NT 4.1", a version that does not exist; every SDK gate it
|
|
# passes is an NT 4.0 gate, so moving it to the macro it was always
|
|
# meant for changes no API exposure and states the actual target.
|
|
PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT=0x0400 -D_WIN32_WINDOWS=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
|
|
PLATCFLAGS += -DHAVE_UPDATE_CORE_INFO
|
|
PLATCFLAGS += -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
|
|
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
|
|
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_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_NETWORKING := 1
|
|
HAVE_IFINFO := 1
|
|
HAVE_NETWORK_CMD := 1
|
|
HAVE_NETPLAYDISCOVERY := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 1
|
|
HAVE_OZONE := 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_LANGEXTRA
|
|
PLATCFLAGS += -DHAVE_OPENGL -DHAVE_OPENGL1 -DHAVE_OZONE
|
|
PLATCFLAGS += -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES
|
|
PLATCFLAGS += -DHAVE_UPDATE_CORE_INFO
|
|
PLATCFLAGS += -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
|
|
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
|
|
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_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_NETWORKING := 1
|
|
HAVE_IFINFO := 1
|
|
HAVE_NETWORK_CMD := 1
|
|
HAVE_NETPLAYDISCOVERY := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 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_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES
|
|
PLATCFLAGS += -DHAVE_UPDATE_CORE_INFO
|
|
PLATCFLAGS += -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
|
|
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
|
|
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_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_NETWORKING := 1
|
|
HAVE_IFINFO := 1
|
|
HAVE_NETWORK_CMD := 1
|
|
HAVE_NETPLAYDISCOVERY := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 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_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES
|
|
PLATCFLAGS += -DHAVE_UPDATE_CORE_INFO
|
|
PLATCFLAGS += -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
|
|
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
|
|
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_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_NETWORKING := 1
|
|
HAVE_IFINFO := 1
|
|
HAVE_NETWORK_CMD := 1
|
|
HAVE_NETPLAYDISCOVERY := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 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_LANGEXTRA -DHAVE_OPENGL -DHAVE_SHADERPIPELINE -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES
|
|
PLATCFLAGS += -DHAVE_UPDATE_CORE_INFO
|
|
PLATCFLAGS += -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
|
|
export LIB := $(LIB);$(DXSDK_DIR)\Lib\$(WinArch)
|
|
else
|
|
export INCLUDE := $(INCLUDE);libretro-common\include;libretro-common\include\compat\msvc;gfx\include;deps
|
|
export LIB := $(LIB)
|
|
endif
|
|
else ifeq (qnx,$(platform))
|
|
HAVE_SCREENSHOTS := 1
|
|
HAVE_REWIND := 1
|
|
HAVE_AUDIOMIXER := 1
|
|
HAVE_RWAV := 1
|
|
HAVE_RPNG := 1
|
|
HAVE_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_NETWORKING := 1
|
|
HAVE_IFINFO := 1
|
|
HAVE_NETWORK_CMD := 1
|
|
HAVE_NETPLAYDISCOVERY := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 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
|
|
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_LANGEXTRA -DHAVE_RUNAHEAD -DHAVE_GFX_WIDGETS -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES
|
|
PLATCFLAGS += -DHAVE_UPDATE_CORE_INFO
|
|
PLATCFLAGS += -DHAVE_XMB -DRARCH_INTERNAL -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/rcheevos/include -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_RWEBP := 1
|
|
HAVE_RDDS := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_7ZIP := 1
|
|
HAVE_NETWORKING := 1
|
|
HAVE_IFINFO := 1
|
|
HAVE_NETWORK_CMD := 1
|
|
HAVE_NETPLAYDISCOVERY := 1
|
|
HAVE_OVERLAY := 1
|
|
HAVE_MATERIALUI := 1
|
|
HAVE_XMB := 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_RSLC := 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_LANGEXTRA -DHAVE_RUNAHEAD -DHAVE_GFX_WIDGETS -DHAVE_CONFIGFILE -DHAVE_PATCH -DHAVE_ONLINE_UPDATER -DHAVE_UPDATE_ASSETS -DHAVE_UPDATE_CORES
|
|
PLATCFLAGS += -DHAVE_UPDATE_CORE_INFO
|
|
PLATCFLAGS += -DHAVE_VULKAN -DHAVE_XMB -DRARCH_INTERNAL -DHAVE_X11 -DHAVE_XCB -DHAVE_UDEV -DHAVE_BSV_MOVIE -DHAVE_PULSE
|
|
# as Makefile builds Linux: the GNU extensions are seen from the first
|
|
# system header, which in a unity build is long before rthreads.c's
|
|
PLATCFLAGS += -D_GNU_SOURCE
|
|
EXT_TARGET := $(TARGET_NAME)
|
|
EXT_INTER_TARGET := $(TARGET_NAME)
|
|
INCLUDE += -Ilibretro-common/include -Igfx/include -Ideps -Ideps/rcheevos/include -I.
|
|
LIBS += -ldl -lm -lpthread -lGL -ludev -lpulse -lX11 -lX11-xcb -lxcb -lXxf86vm
|
|
endif
|
|
|
|
ifneq (,$(findstring msvc,$(platform)))
|
|
CFLAGS += -W3 $(MACHDEP) $(PLATCFLAGS)
|
|
else
|
|
CFLAGS += -Wall -std=gnu99 $(MACHDEP) $(PLATCFLAGS) $(INCLUDE)
|
|
INCLUDE += -I./libretro-common/include \
|
|
-Ideps
|
|
endif
|
|
|
|
OBJ = griffin/griffin.o $(PLATOBJS)
|
|
|
|
ifeq ($(HAVE_GRIFFIN_CPP), 1)
|
|
OBJ += griffin/griffin_cpp.o
|
|
endif
|
|
|
|
ifeq ($(HAVE_RSLC), 1)
|
|
PLATCFLAGS += -DHAVE_RSLC
|
|
OBJ += griffin/griffin_rslc.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_GXM), 1)
|
|
CFLAGS += -DHAVE_GXM
|
|
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_RPNG), 1)
|
|
CFLAGS += -DHAVE_RPNG
|
|
endif
|
|
|
|
ifeq ($(HAVE_RWEBP), 1)
|
|
CFLAGS += -DHAVE_RWEBP
|
|
endif
|
|
|
|
ifeq ($(HAVE_RDDS), 1)
|
|
CFLAGS += -DHAVE_RDDS
|
|
endif
|
|
|
|
ifeq ($(HAVE_RBMP), 1)
|
|
CFLAGS += -DHAVE_RBMP
|
|
endif
|
|
|
|
ifeq ($(HAVE_RTGA), 1)
|
|
CFLAGS += -DHAVE_RTGA
|
|
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
|
|
endif
|
|
ifeq ($(HAVE_RZSTD), 1)
|
|
CFLAGS += -DHAVE_RZSTD
|
|
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
|
|
|
|
# AC-3 (rac3) and IEC 61937: no dependencies, on wherever the mixer is.
|
|
ifeq ($(HAVE_AUDIOMIXER), 1)
|
|
CFLAGS += -DHAVE_RAC3
|
|
endif
|
|
|
|
ifeq ($(HAVE_OVERLAY), 1)
|
|
CFLAGS += -DHAVE_OVERLAY
|
|
endif
|
|
|
|
ifeq ($(HAVE_NETWORKING), 1)
|
|
CFLAGS += -DHAVE_NETWORKING
|
|
ifeq ($(HAVE_RTMP), 1)
|
|
CFLAGS += -DHAVE_RTMP
|
|
endif
|
|
endif
|
|
|
|
ifeq ($(HAVE_RFLV), 1)
|
|
CFLAGS += -DHAVE_RFLV
|
|
endif
|
|
|
|
ifeq ($(HAVE_IFINFO), 1)
|
|
CFLAGS += -DHAVE_IFINFO
|
|
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_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
|
|
endif
|
|
|
|
CFLAGS += -O2 -DNDEBUG -MT
|
|
LDFLAGS += -SUBSYSTEM:WINDOWS -ENTRY:mainCRTStartup
|
|
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 '$*=$($*)'
|