mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-25 00:49:47 +00:00
1171 lines
38 KiB
Makefile
1171 lines
38 KiB
Makefile
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
|
|
|
|
PYTHON2 := python2$(EXE_EXT)
|
|
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
|
|
|
|
ifneq (,$(findstring msvc,$(platform)))
|
|
LIBS := $(WHOLE_START) $(WHOLE_END)
|
|
else
|
|
ifneq (,$(findstring unix,$(platform)))
|
|
LIBS := $(WHOLE_START) $(WHOLE_END)
|
|
else
|
|
LIBS := $(WHOLE_START) -lretro_$(platform) $(WHOLE_END)
|
|
endif
|
|
endif
|
|
|
|
libogc_platform :=
|
|
|
|
ifeq ($(platform), ngc)
|
|
libogc_platform := 1
|
|
else ifeq ($(platform), wii)
|
|
libogc_platform := 1
|
|
endif
|
|
|
|
HAVE_MENU_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
|
|
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)
|
|
EXT_TARGET := $(TARGET_NAME)_$(platform).dol
|
|
EXT_INTER_TARGET := $(TARGET_NAME)_$(platform).elf
|
|
|
|
INCLUDE += -I. -I$(DEVKITPRO)/libogc/include -Ideps/libz -Iwii/libogc/include
|
|
|
|
ifeq ($(EXTERNAL_LIBOGC), 1)
|
|
CFLAGS += -DEXTERNAL_LIBOGC
|
|
CXXFLAGS += -DEXTERNAL_LIBOGC
|
|
|
|
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
|
|
|
|
ifeq ($(platform), ngc)
|
|
LIBDIRS += -Lwii/libogc/libs/cube
|
|
else ifeq ($(platform), wii)
|
|
LIBDIRS += -Lwii/libogc/libs/wii
|
|
endif
|
|
|
|
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 -DMSB_FIRST
|
|
|
|
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_AUDIOMIXER := 1
|
|
HAVE_RUNAHEAD := 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_BUILTINZLIB := 1
|
|
HAVE_ZLIB := 1
|
|
WANT_ZLIB := 1
|
|
HAVE_7ZIP := 1
|
|
RARCH_CONSOLE = 1
|
|
|
|
ifeq ($(platform), wii)
|
|
HAVE_AUDIOMIXER := 1
|
|
#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
|
|
|
|
# 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
|
|
|
|
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
|
|
WANT_ZLIB := 1
|
|
INCLUDE += -Ideps/libvita2d/include
|
|
INCLUDE += -Ideps/libz
|
|
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_FILTERS_BUILTIN := 1
|
|
HAVE_LANGEXTRA := 1
|
|
HAVE_RPNG := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_BUILTINZLIB := 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
|
|
else ifeq ($(platform), windows_msvc6_x86)
|
|
HAVE_RPNG := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_ZLIB := 1
|
|
WANT_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
|
|
|
|
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_BUILTINZLIB := 1
|
|
HAVE_ZLIB := 1
|
|
WANT_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
|
|
|
|
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
|
|
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_RPNG := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_BUILTINZLIB := 1
|
|
HAVE_ZLIB := 1
|
|
WANT_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_DIRECTX ?= 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 -DHAVE_EASTEREGG -D__MMX__ -D__SSE__ -DHAVE_OPENGL -DHAVE_OPENGL1 -DHAVE_GLSL -DHAVE_SHADERPIPELINE -DHAVE_OZONE
|
|
LDFLAGS += 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")
|
|
|
|
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 ifneq (,$(findstring windows_msvc2010,$(platform)))
|
|
HAVE_GDI := 1
|
|
HAVE_AUDIOMIXER := 1
|
|
HAVE_RPNG := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_BUILTINZLIB := 1
|
|
HAVE_ZLIB := 1
|
|
WANT_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
|
|
|
|
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_UPDATE_ASSETS -DWIN32 -DHAVE_EASTEREGG -DHAVE_CDROM
|
|
LDFLAGS += 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.0A" -v "InstallationFolder" | grep -io '[A-Z]:\\.*')
|
|
WindowsSdkDir ?= $(shell reg query "HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1A" -v "InstallationFolder" | 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;$(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_AUDIOMIXER := 1
|
|
HAVE_RPNG := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_BUILTINZLIB := 1
|
|
HAVE_ZLIB := 1
|
|
WANT_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
|
|
|
|
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_UPDATE_ASSETS -DWIN32 -DHAVE_EASTEREGG -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_AUDIOMIXER := 1
|
|
HAVE_RPNG := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_BUILTINZLIB := 1
|
|
HAVE_ZLIB := 1
|
|
WANT_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
|
|
|
|
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_UPDATE_ASSETS -DWIN32 -DHAVE_EASTEREGG -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_AUDIOMIXER := 1
|
|
HAVE_RPNG := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_BUILTINZLIB := 1
|
|
HAVE_ZLIB := 1
|
|
WANT_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
|
|
|
|
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_UPDATE_ASSETS -DWIN32 -DHAVE_EASTEREGG -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 ifneq (,$(findstring unix,$(platform)))
|
|
HAVE_AUDIOMIXER := 1
|
|
HAVE_RPNG := 1
|
|
HAVE_RJPEG := 1
|
|
HAVE_RBMP := 1
|
|
HAVE_RTGA := 1
|
|
HAVE_BUILTINZLIB := 1
|
|
HAVE_ZLIB := 1
|
|
WANT_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
|
|
|
|
PLATCFLAGS += -DHAVE_EASTEREGG -D__MMX__ -D__SSE__ -DHAVE_OPENGL -DHAVE_OPENGL1 -DHAVE_GLSL -DHAVE_SHADERPIPELINE -DHAVE_OZONE -DHAVE_CC_RESAMPLER -DHAVE_CHEEVOS -DRC_DISABLE_LUA -DHAVE_FBO -DHAVE_GL_SYNC -DHAVE_SLANG -DHAVE_GLSLANG -DHAVE_IMAGEVIEWER -DHAVE_LANGEXTRA -DHAVE_RUNAHEAD -DHAVE_MENU_WIDGETS -DHAVE_SPIRV_CROSS -DHAVE_STB_FONT -DHAVE_UPDATE_ASSETS -DHAVE_VULKAN -DHAVE_XMB -DRARCH_INTERNAL -DWANT_GLSLANG -DHAVE_X11 -DHAVE_XCB -DHAVE_UDEV -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 += -W2 $(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 ($(WANT_ZLIB), 1)
|
|
CFLAGS += -DWANT_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_RUNAHEAD), 1)
|
|
CFLAGS += -DHAVE_RUNAHEAD
|
|
endif
|
|
|
|
ifeq ($(HAVE_7ZIP), 1)
|
|
CFLAGS += -DHAVE_7ZIP
|
|
endif
|
|
|
|
ifeq ($(HAVE_AUDIOMIXER), 1)
|
|
CFLAGS += -DHAVE_AUDIOMIXER
|
|
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 ($(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_FILTERS_BUILTIN), 1)
|
|
CFLAGS += -DHAVE_FILTERS_BUILTIN
|
|
endif
|
|
|
|
ifeq ($(HAVE_THREADS), 1)
|
|
CFLAGS += -DHAVE_THREADS
|
|
|
|
ifeq ($(platform), psp1)
|
|
LIBS += -lpthread-psp
|
|
endif
|
|
|
|
ifeq ($(platform), vita)
|
|
LIBS += -lpthread
|
|
endif
|
|
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), 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
|
|
|
|
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 '$*=$($*)'
|