2017-09-07 06:03:01 +00:00
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
2014-02-19 15:27:27 +00:00
2017-09-11 06:52:17 +00:00
UNAME_ARCH = $( shell uname -m)
i f e q ( $( UNAME_ARCH ) , x 8 6 _ 6 4 )
HOST_ARCH = x64
e l s e
HOST_ARCH = x86
e n d i f
2014-02-19 15:27:27 +00:00
i f n e q ( $( EMSCRIPTEN ) , )
platform = emscripten
e n d i f
i f e q ( $( platform ) , )
2017-09-07 06:03:01 +00:00
platform = unix
ifeq ( $( shell uname -a) ,)
platform = win
else ifneq ( $( findstring MINGW,$( shell uname -a) ) ,)
platform = win
else ifneq ( $( findstring Darwin,$( shell uname -a) ) ,)
platform = osx
else ifneq ( $( findstring win,$( shell uname -a) ) ,)
platform = win
endif
2014-02-19 15:27:27 +00:00
e n d i f
# system platform
system_platform = unix
2017-09-07 06:03:01 +00:00
2014-02-19 15:27:27 +00:00
i f e q ( $( shell uname -a ) , )
2017-09-07 06:03:01 +00:00
EXE_EXT = .exe
2014-02-19 15:27:27 +00:00
system_platform = win
e l s e i f n e q ( $( findstring Darwin ,$ ( shell uname -a ) ) , )
system_platform = osx
e l s e i f n e q ( $( findstring MINGW ,$ ( shell uname -a ) ) , )
system_platform = win
e n d i f
2015-09-01 09:03:55 +00:00
TARGET_NAME := retroarch
2014-02-19 15:27:27 +00:00
2015-09-01 09:03:55 +00:00
INCLUDE :=
LDFLAGS :=
LIBDIRS :=
2014-02-19 15:27:27 +00:00
2014-10-29 06:44:06 +00:00
SHADER_CG_DIR := media/shaders_cg
2015-09-01 09:03:55 +00:00
OVERLAY_DIR := media/overlays
SHADER_GLSL_DIR := media/shaders_glsl
2014-02-21 21:09:46 +00:00
2017-09-07 06:03:01 +00:00
PYTHON2 := python2$( EXE_EXT)
PYTHON3 := python3$( EXE_EXT)
GIT := git$( EXE_EXT)
2014-02-21 21:09:46 +00:00
2014-04-17 16:10:04 +00:00
i f e q ( $( WHOLE_ARCHIVE_LINK ) , 1 )
2015-09-01 09:03:55 +00:00
WHOLE_START := -Wl,--whole-archive
WHOLE_END := -Wl,--no-whole-archive
2014-04-17 16:10:04 +00:00
e n d i f
2017-09-07 06:08:35 +00:00
i f n e q ( , $( findstring msvc ,$ ( platform ) ) )
2017-09-07 06:03:01 +00:00
LIBS := $( WHOLE_START) $( WHOLE_END)
e l s e
LIBS := $( WHOLE_START) -lretro_$( platform) $( WHOLE_END)
e n d i f
2015-09-01 08:58:02 +00:00
2015-09-01 09:03:55 +00:00
libogc_platform :=
2015-09-01 08:58:02 +00:00
2014-02-19 15:27:27 +00:00
i f e q ( $( platform ) , n g c )
2017-09-07 06:03:01 +00:00
libogc_platform := 1
2015-09-01 08:58:02 +00:00
e l s e i f e q ( $( platform ) , w i i )
2017-09-07 06:03:01 +00:00
libogc_platform := 1
2015-09-01 08:58:02 +00:00
e n d i f
# PS3
i f e q ( $( platform ) , p s 3 )
2017-09-07 06:03:01 +00:00
#TODO
MEDIA_SHADER_DIR := pkg/ps3/USRDIR/cores/shaders
RARCH_CONSOLE = 1
2015-09-01 08:58:02 +00:00
# PS3 - Cobra
e l s e i f e q ( $( platform ) , p s 3 - c o b r a )
2017-09-07 06:03:01 +00:00
#TODO
MEDIA_SHADER_DIR := ps3/iso/PS3_GAME/USRDIR/cores/shaders
RARCH_CONSOLE = 1
2015-09-01 08:58:02 +00:00
# NGC/Wii - libogc
e l s e i f e q ( $( libogc_platform ) , 1 )
2017-09-07 06:03:01 +00:00
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
2017-08-19 06:31:02 +00:00
2017-09-07 06:03:01 +00:00
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
LIBS += -logc
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
CFLAGS += -DGEKKO -U__INT32_TYPE__ -U __UINT32_TYPE__ -D__INT32_TYPE__= int
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_ZLIB := 1
WANT_ZLIB := 1
HAVE_7ZIP := 1
RARCH_CONSOLE = 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
2014-02-19 16:47:59 +00:00
2015-09-01 08:58:02 +00:00
# Libxenon (Xbox 360)
e l s e i f e q ( $( platform ) , x e n o n 3 6 0 )
2017-09-07 06:03:01 +00:00
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
2015-09-01 08:58:02 +00:00
# PSP
2014-02-19 16:47:59 +00:00
e l s e i f e q ( $( platform ) , p s p 1 )
2017-09-07 06:03:01 +00:00
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
2015-09-01 08:32:36 +00:00
2015-09-01 08:58:02 +00:00
# Vita
2015-08-30 14:12:45 +00:00
e l s e i f e q ( $( platform ) , v i t a )
2017-09-07 06:03:01 +00:00
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 -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_ZLIB := 1
HAVE_7ZIP := 1
HAVE_VITA2D := 1
HAVE_NETWORKING := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
HAVE_STB_FONT := 1
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
RARCH_CONSOLE = 1
2017-09-07 15:50:10 +00:00
e l s e i f e q ( $( platform ) , w i n d o w s _ m s v c 6 _ x 8 6 )
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_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
HAVE_STB_FONT := 1
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
HAVE_FBO := 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
2017-09-11 06:02:27 +00:00
PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT= 0x0351 -D__STDC_CONSTANT_MACROS -D_MBCS
2017-09-07 15:50:10 +00:00
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib
2017-09-10 15:32:16 +00:00
VCDIR ?= $( shell reg query "HKLM\SOFTWARE\Wow6432Node\Microsoft\DevStudio\6.0\Products\Microsoft Visual C++" -v "ProductDir" | grep -o '[A-Z]:\\.*' )
2017-09-07 15:50:10 +00:00
PATH := $( shell IFS = $$ '\n' ; cygpath " $( VCDIR) /bin " ) :$( PATH)
PATH := $( PATH) :$( shell IFS = $$ '\n' ; cygpath " $( VCDIR) /../Common/MSDev98/Bin " )
2017-09-10 15:32:16 +00:00
INCLUDE := $( shell IFS = $$ '\n' ; cygpath -w " $( VCDIR) /Include " )
2017-09-07 15:50:10 +00:00
LIB := $( shell IFS = $$ '\n' ; cygpath -w " $( VCDIR) /Lib " )
2017-09-10 15:32:16 +00:00
export INCLUDE := $( INCLUDE) ; $( INETSDK) \I nclude; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc
2017-09-10 23:33:22 +00:00
export LIB := $( LIB) ; $( INETSDK) \L ib
2017-09-07 06:03:01 +00:00
e l s e i f e q ( $( platform ) , w i n d o w s _ m s v c 2 0 0 3 _ x 8 6 )
HAVE_RPNG := 1
HAVE_RJPEG := 1
HAVE_RBMP := 1
HAVE_RTGA := 1
HAVE_ZLIB := 1
WANT_ZLIB := 1
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
HAVE_STB_FONT := 1
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
HAVE_FBO := 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
2017-09-10 23:33:22 +00:00
PLATCFLAGS += -D_WIN32 -DWINVER= 0x0400 -D_WIN32_WINNT= 0x0400 -D__STDC_CONSTANT_MACROS -D_MBCS -D_VC80_UPGRADE= 0x0710
2017-09-07 06:03:01 +00:00
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib
2017-09-10 23:33:22 +00:00
2017-09-07 06:03:01 +00:00
PATH := $( shell IFS = $$ '\n' ; cygpath " $( VS71COMNTOOLS) ../../Vc7/bin " ) :$( PATH)
PATH := $( PATH) :$( shell IFS = $$ '\n' ; cygpath " $( VS71COMNTOOLS) ../IDE " )
2017-09-10 23:33:22 +00:00
INCLUDE := $( shell IFS = $$ '\n' ; cygpath -w " $( VS71COMNTOOLS) ../../Vc7/include " )
2017-09-07 06:03:01 +00:00
LIB := $( shell IFS = $$ '\n' ; cygpath -w " $( VS71COMNTOOLS) ../../Vc7/lib " )
2017-09-10 23:33:22 +00:00
ifeq ( $( HAVE_DIRECTX) , 1)
PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND
2017-09-12 05:42:50 +00:00
DXSDK_DIR := $( DXSDK_DIR:\= )
2017-09-10 23:33:22 +00:00
export INCLUDE := $( INCLUDE) ; $( INETSDK) \I nclude; $( DXSDK_DIR) \I nclude; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc
export LIB := $( LIB) ; $( INETSDK) \L ib; $( DXSDK_DIR) \L ib\x 86
else
export INCLUDE := $( INCLUDE) ; $( INETSDK) \I nclude; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc
export LIB := $( LIB) ; $( INETSDK) \L ib
endif
e l s e i f e q ( $( platform ) , w i n d o w s _ m s v c 2 0 0 5 _ x 8 6 )
HAVE_RPNG := 1
HAVE_RJPEG := 1
HAVE_RBMP := 1
HAVE_RTGA := 1
HAVE_ZLIB := 1
WANT_ZLIB := 1
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
HAVE_STB_FONT := 1
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
HAVE_FBO := 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
2017-09-11 06:02:27 +00:00
PLATCFLAGS += -D_WIN32 -D_WIN32_WINNT= 0x0410 -D__STDC_CONSTANT_MACROS -D_MBCS
2017-09-10 23:33:22 +00:00
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.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
2017-09-12 05:42:50 +00:00
DXSDK_DIR := $( DXSDK_DIR:\= )
2017-09-10 23:33:22 +00:00
export INCLUDE := $( INCLUDE) ; $( INETSDK) \I nclude; $( DXSDK_DIR) \I nclude; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc
export LIB := $( LIB) ; $( INETSDK) \L ib; $( DXSDK_DIR) \L ib\x 86
else
export INCLUDE := $( INCLUDE) ; $( INETSDK) \I nclude; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc
export LIB := $( LIB) ; $( INETSDK) \L ib
endif
2017-09-11 06:52:17 +00:00
e l s e i f n e q ( , $( findstring windows_msvc 2010,$ ( platform ) ) )
2017-09-11 06:02:27 +00:00
HAVE_RPNG := 1
HAVE_RJPEG := 1
HAVE_RBMP := 1
HAVE_RTGA := 1
HAVE_ZLIB := 1
WANT_ZLIB := 1
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
HAVE_STB_FONT := 1
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
HAVE_FBO := 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__STDC_CONSTANT_MACROS -D_MBCS
PLATCFLAGS += -D__i686__ -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
LDFLAGS += shell32.lib user32.lib gdi32.lib comdlg32.lib winmm.lib ole32.lib iphlpapi.lib
2017-09-11 06:52:17 +00:00
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\x 64
else
PATH := $( shell IFS = $$ '\n' ; cygpath " $( VS100COMNTOOLS) ../../VC/bin " ) :$( PATH)
LIB := $( shell IFS = $$ '\n' ; cygpath -w " $( VS100COMNTOOLS) ../../VC/lib " )
WinArch = x86
PlatLib = Lib
endif
2017-09-11 06:02:27 +00:00
PATH := $( PATH) :$( shell IFS = $$ '\n' ; cygpath " $( VS100COMNTOOLS) ../IDE " )
INCLUDE := $( shell IFS = $$ '\n' ; cygpath -w " $( VS100COMNTOOLS) ../../VC/include " )
2017-09-12 05:16:12 +00:00
WindowsSdkDir ?= $( shell reg query "HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.0A" -v "InstallationFolder" | grep -o '[A-Z]:\\.*' )
WindowsSdkDir ?= $( shell reg query "HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1A" -v "InstallationFolder" | grep -o '[A-Z]:\\.*' )
WindowsSdkDir := $( WindowsSdkDir:\= )
2017-09-11 06:02:27 +00:00
ifeq ( $( HAVE_DIRECTX) , 1)
PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND -DHAVE_D3D -DHAVE_D3D9 -DHAVE_XAUDIO -DHAVE_XINPUT
2017-09-12 05:34:00 +00:00
DXSDK_DIR := $( DXSDK_DIR:\= )
2017-09-12 05:16:12 +00:00
export INCLUDE := $( INCLUDE) ; $( WindowsSdkDir) \I nclude; $( DXSDK_DIR) \I nclude; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc; gfx\i nclude
export LIB := $( LIB) ; $( WindowsSdkDir) \$ ( PlatLib) ; $( DXSDK_DIR) \L ib\$ ( WinArch)
2017-09-11 06:02:27 +00:00
else
2017-09-12 05:16:12 +00:00
export INCLUDE := $( INCLUDE) ; $( WindowsSdkDir) \I nclude; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc; gfx\i nclude
export LIB := $( LIB) ; $( WindowsSdkDir) \$ ( PlatLib)
2017-09-11 06:02:27 +00:00
endif
2017-09-12 07:13:28 +00:00
e l s e i f n e q ( , $( findstring windows_msvc 2012,$ ( platform ) ) )
HAVE_RPNG := 1
HAVE_RJPEG := 1
HAVE_RBMP := 1
HAVE_RTGA := 1
HAVE_ZLIB := 1
WANT_ZLIB := 1
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
HAVE_STB_FONT := 1
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
HAVE_FBO := 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__STDC_CONSTANT_MACROS -D_MBCS
PLATCFLAGS += -D__i686__ -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
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\w inv6.3\u m\x 64
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\w inv6.3\u m\a rm
else
PATH := $( shell IFS = $$ '\n' ; cygpath " $( VS110COMNTOOLS) ../../VC/bin " ) :$( PATH)
LIB := $( shell IFS = $$ '\n' ; cygpath -w " $( VS110COMNTOOLS) ../../VC/lib " )
WinArch = x86
PlatLib = Lib\w inv6.3\u m\x 86
endif
PATH := $( PATH) :$( shell IFS = $$ '\n' ; cygpath " $( VS110COMNTOOLS) ../IDE " )
INCLUDE := $( shell IFS = $$ '\n' ; cygpath -w " $( VS110COMNTOOLS) ../../VC/include " )
2017-09-12 08:27:06 +00:00
ifeq ( $( HAVE_DIRECTX) , 1)
PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND -DHAVE_D3D -DHAVE_D3D9 -DHAVE_XAUDIO -DHAVE_XINPUT
2017-09-12 05:42:50 +00:00
DXSDK_DIR := $( DXSDK_DIR:\= )
2017-09-12 08:27:06 +00:00
export INCLUDE := $( INCLUDE) ; $( INETSDK) \I nclude\u m; $( INETSDK) \I nclude\s hared; $( DXSDK_DIR) \I nclude; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc; gfx\i nclude
export LIB := $( LIB) ; $( INETSDK) \$ ( PlatLib) ; $( DXSDK_DIR) \L ib\$ ( WinArch)
else
export INCLUDE := $( INCLUDE) ; $( INETSDK) \I nclude\u m; $( INETSDK) \I nclude\s hared; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc; gfx\i nclude
export LIB := $( LIB) ; $( INETSDK) \$ ( PlatLib)
endif
e l s e i f n e q ( , $( findstring windows_msvc 2013,$ ( platform ) ) )
HAVE_RPNG := 1
HAVE_RJPEG := 1
HAVE_RBMP := 1
HAVE_RTGA := 1
HAVE_ZLIB := 1
WANT_ZLIB := 1
HAVE_7ZIP := 1
HAVE_NETWORKING := 1
HAVE_NETWORK_CMD := 1
HAVE_OVERLAY := 1
HAVE_MATERIALUI := 1
HAVE_XMB := 1
HAVE_STB_FONT := 1
HAVE_THREADS := 1
HAVE_LIBRETRODB := 1
HAVE_FBO := 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__STDC_CONSTANT_MACROS -D_MBCS
PLATCFLAGS += -D__i686__ -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
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\w inv6.3\u m\x 64
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\w inv6.3\u m\a rm
else
PATH := $( shell IFS = $$ '\n' ; cygpath " $( VS120COMNTOOLS) ../../VC/bin " ) :$( PATH)
LIB := $( shell IFS = $$ '\n' ; cygpath -w " $( VS120COMNTOOLS) ../../VC/lib " )
WinArch = x86
PlatLib = Lib\w inv6.3\u m\x 86
endif
PATH := $( PATH) :$( shell IFS = $$ '\n' ; cygpath " $( VS120COMNTOOLS) ../IDE " )
INCLUDE := $( shell IFS = $$ '\n' ; cygpath -w " $( VS120COMNTOOLS) ../../VC/include " )
2017-09-12 07:13:28 +00:00
ifeq ( $( HAVE_DIRECTX) , 1)
PLATCFLAGS += -DHAVE_DINPUT -DHAVE_DSOUND -DHAVE_D3D -DHAVE_D3D9 -DHAVE_XAUDIO -DHAVE_XINPUT
2017-09-12 05:42:50 +00:00
DXSDK_DIR := $( DXSDK_DIR:\= )
2017-09-12 07:13:28 +00:00
export INCLUDE := $( INCLUDE) ; $( INETSDK) \I nclude\u m; $( INETSDK) \I nclude\s hared; $( DXSDK_DIR) \I nclude; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc; gfx\i nclude
export LIB := $( LIB) ; $( INETSDK) \$ ( PlatLib) ; $( DXSDK_DIR) \L ib\$ ( WinArch)
else
export INCLUDE := $( INCLUDE) ; $( INETSDK) \I nclude\u m; $( INETSDK) \I nclude\s hared; libretro-common\i nclude; libretro-common\i nclude\c ompat\m svc; gfx\i nclude
export LIB := $( LIB) ; $( INETSDK) \$ ( PlatLib)
endif
2017-09-07 06:03:01 +00:00
e n d i f
i f n e q ( , $( findstring msvc ,$ ( platform ) ) )
CFLAGS += -W2 $( MACHDEP) $( PLATCFLAGS)
e l s e
CFLAGS += -Wall -std= gnu99 $( MACHDEP) $( PLATCFLAGS) $( INCLUDE)
INCLUDE += -I./libretro-common/include
e n d i f
2014-02-19 15:27:27 +00:00
OBJ = griffin/griffin.o $( PLATOBJS)
2017-09-07 06:03:01 +00:00
i f e q ( $( HAVE_GRIFFIN_CPP ) , 1 )
OBJ += griffin/griffin_cpp.o
e n d i f
2014-10-21 03:05:52 +00:00
2014-02-19 15:27:27 +00:00
i f e q ( $( HAVE_LOGGER ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_LOGGER
CFLAGS += -DPC_DEVELOPMENT_IP_ADDRESS= \" $( PC_DEVELOPMENT_IP_ADDRESS) \" -DPC_DEVELOPMENT_UDP_PORT= $( PC_DEVELOPMENT_UDP_PORT)
2014-02-19 16:47:59 +00:00
e n d i f
2015-08-29 13:40:23 +00:00
i f e q ( $( platform ) , w i i )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_SOCKET_LEGACY
2015-08-29 13:40:23 +00:00
e n d i f
2015-08-30 14:12:45 +00:00
i f e q ( $( platform ) , v i t a )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_SOCKET_LEGACY
2015-08-30 14:12:45 +00:00
e n d i f
2015-08-30 21:19:45 +00:00
i f e q ( $( HAVE_KERNEL_PRX ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_KERNEL_PRX
2015-08-30 21:19:45 +00:00
e n d i f
2015-08-30 07:48:38 +00:00
i f e q ( $( HAVE_WIIUSB_HID ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_WIIUSB_HID -DHAVE_HID
2015-08-30 07:48:38 +00:00
e n d i f
2015-08-30 14:12:45 +00:00
i f e q ( $( HAVE_VITA 2D ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_VITA2D
2015-08-30 14:12:45 +00:00
e n d i f
2015-06-07 22:48:21 +00:00
i f e q ( $( HAVE_LIBRETRODB ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_LIBRETRODB
2015-06-07 22:48:21 +00:00
e n d i f
2015-08-30 21:19:45 +00:00
i f e q ( $( BIG_STACK ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DBIG_STACK
2015-08-30 21:19:45 +00:00
e n d i f
2016-05-17 11:39:06 +00:00
i f e q ( $( HAVE_RJPEG ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_RJPEG
2016-05-17 11:39:06 +00:00
e n d i f
2014-02-19 15:27:27 +00:00
i f e q ( $( HAVE_FILE_LOGGER ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_FILE_LOGGER
2014-02-19 15:27:27 +00:00
e n d i f
2014-02-19 16:47:59 +00:00
i f e q ( $( HAVE_RARCH_EXEC ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_RARCH_EXEC
2014-02-19 16:47:59 +00:00
e n d i f
2014-02-19 15:27:27 +00:00
2014-02-19 16:47:59 +00:00
i f e q ( $( HAVE_ZLIB ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_ZLIB
2016-08-02 13:30:51 +00:00
e n d i f
i f e q ( $( WANT_ZLIB ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DWANT_ZLIB
2014-02-19 16:47:59 +00:00
e n d i f
2015-04-19 14:55:03 +00:00
i f e q ( $( HAVE_RPNG ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_RPNG
2015-04-19 14:55:03 +00:00
e n d i f
2016-05-18 11:39:42 +00:00
i f e q ( $( HAVE_RBMP ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_RBMP
2016-05-18 11:39:42 +00:00
e n d i f
i f e q ( $( HAVE_RTGA ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_RTGA
2016-05-18 11:39:42 +00:00
e n d i f
2016-07-31 13:04:56 +00:00
i f e q ( $( HAVE_IMAGEVIEWER ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_IMAGEVIEWER
2016-07-31 13:04:56 +00:00
e n d i f
2014-09-12 20:24:18 +00:00
i f e q ( $( HAVE_ 7ZIP ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_7ZIP
2014-09-12 20:24:18 +00:00
e n d i f
2014-02-21 00:46:43 +00:00
i f e q ( $( HAVE_OVERLAY ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_OVERLAY
2014-02-21 00:46:43 +00:00
e n d i f
2015-01-31 05:09:50 +00:00
i f e q ( $( HAVE_NETWORKING ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_NETWORKING
2015-01-31 05:09:50 +00:00
e n d i f
2015-09-01 09:03:55 +00:00
i f e q ( $( RARCH_CONSOLE ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DRARCH_CONSOLE
2015-09-01 09:03:55 +00:00
e n d i f
i f e q ( $( RARCH_MOBILE ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DRARCH_MOBILE
2015-09-01 09:03:55 +00:00
e n d i f
2017-09-07 06:03:01 +00:00
i f n e q ( , $( findstring msvc ,$ ( platform ) ) )
CFLAGS += -DHAVE_RGUI -DHAVE_MENU -DHAVE_GRIFFIN= 1 -DRARCH_INTERNAL
e l s e
CFLAGS += -std= gnu99 -DSINC_LOWER_QUALITY -DHAVE_RGUI -DHAVE_MENU -DHAVE_GRIFFIN= 1 -Wno-char-subscripts -DRARCH_INTERNAL
e n d i f
2014-02-19 15:27:27 +00:00
2016-08-23 09:01:24 +00:00
i f e q ( $( HAVE_MATERIALUI ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_MATERIALUI
2016-08-23 09:01:24 +00:00
e n d i f
2016-08-19 17:10:31 +00:00
i f e q ( $( HAVE_XMB ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_XMB
2016-08-19 17:10:31 +00:00
e n d i f
2016-09-19 12:14:11 +00:00
i f e q ( $( HAVE_STB_FONT ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_STB_FONT
2016-09-19 12:14:11 +00:00
e n d i f
2016-06-07 04:05:41 +00:00
i f e q ( $( HAVE_LANGEXTRA ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_LANGEXTRA
2016-06-07 04:05:41 +00:00
e n d i f
2014-05-31 14:12:30 +00:00
i f e q ( $( HAVE_FILTERS_BUILTIN ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_FILTERS_BUILTIN
2014-05-31 14:12:30 +00:00
e n d i f
2014-02-19 15:27:27 +00:00
i f e q ( $( HAVE_THREADS ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_THREADS
ifeq ( $( platform) , psp1)
LIBS += -lpthread-psp
endif
ifeq ( $( platform) , vita)
LIBS += -lpthread
endif
2014-02-19 15:27:27 +00:00
e n d i f
i f e q ( $( HAVE_RSOUND ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_RSOUND
2014-02-19 15:27:27 +00:00
e n d i f
2015-09-01 08:58:02 +00:00
i f e q ( $( HAVE_GETOPT_LONG ) , 1 )
2017-09-07 06:03:01 +00:00
CFLAGS += -DHAVE_GETOPT_LONG= 1
e n d i f
i f e q ( $( HAVE_FBO ) , 1 )
CFLAGS += -DHAVE_FBO
e n d i f
i f e q ( $( HAVE_DYLIB ) , 1 )
CFLAGS += -DHAVE_DYLIB
e n d i f
i f e q ( $( HAVE_NETWORK_CMD ) , 1 )
CFLAGS += -DHAVE_NETWORK_CMD
e n d i f
i f e q ( $( HAVE_COMMAND ) , 1 )
CFLAGS += -DHAVE_COMMAND
e n d i f
i f e q ( $( HAVE_STDIN_CMD ) , 1 )
CFLAGS += -DHAVE_STDIN_CMD
e n d i f
i f e q ( $( HAVE_DYNAMIC ) , 1 )
CFLAGS += -DHAVE_DYNAMIC
2015-09-01 08:58:02 +00:00
e n d i f
2014-02-19 15:27:27 +00:00
i f e q ( $( DEBUG ) , 1 )
2017-09-07 06:03:01 +00:00
ifneq ( ,$( findstring msvc,$( platform) ) )
2017-09-07 15:50:10 +00:00
ifeq ( $( platform) , windows_msvc2003_x86)
CFLAGS += -Wp64
endif
CFLAGS += -Od -Zi -D_DEBUG -MTd -TP
2017-09-07 06:03:01 +00:00
else
CFLAGS += -O0 -g -DDEBUG
endif
2014-02-19 16:47:59 +00:00
e l s e i f e q ( $( platform ) , p s p 1 )
CFLAGS += -O2
2016-08-25 11:56:24 +00:00
e l s e i f e q ( $( platform ) , v i t a )
2016-09-26 23:01:18 +00:00
CFLAGS += -O3
2017-09-07 06:03:01 +00:00
e l s e i f n e q ( , $( findstring msvc ,$ ( platform ) ) )
2017-09-07 15:50:10 +00:00
ifeq ( $( platform) , windows_msvc2003_x86)
CFLAGS += -Wp64
endif
CFLAGS += -O2 -DNDEBUG -MT -TP
2014-02-19 15:27:27 +00:00
e l s e
CFLAGS += -O3
e n d i f
2017-09-07 06:03:01 +00:00
i f n e q ( , $( findstring msvc ,$ ( platform ) ) )
OBJOUT = -Fo
LINKOUT = -out:
LINK = link.exe
e l s e
OBJOUT = -o
LINKOUT = -o
LINK = $( CXX)
e n d i f
2014-02-19 16:47:59 +00:00
all : $( EXT_TARGET )
2014-02-19 15:27:27 +00:00
%.dol : %.elf
$( ELF2DOL) $< $@
2015-08-30 14:12:45 +00:00
%.velf : %.elf
2016-08-23 16:17:46 +00:00
i f n e q ( $( DEBUG ) , 1 )
2016-10-17 21:53:06 +00:00
arm-vita-eabi-strip -g $<
2016-08-23 16:17:46 +00:00
e n d i f
2016-07-31 07:57:35 +00:00
vita-elf-create $< $@
2017-04-27 06:10:35 +00:00
vita-make-fself -c -s $@ eboot.bin
2015-08-30 14:12:45 +00:00
2015-09-01 08:58:02 +00:00
%.elf32 : %.elf
i f e q ( $( platform ) , x e n o n 3 6 0 )
$( OBJCOPY) -O elf32-powerpc --adjust-vma 0x80000000 $< $@
e n d i f
2015-09-01 08:32:36 +00:00
%.prx : %.elf
i f e q ( $( platform ) , p s p 1 )
psp-prxgen $< $@
e n d i f
2014-02-19 16:47:59 +00:00
$(EXT_INTER_TARGET) : $( OBJ )
2017-09-07 06:03:01 +00:00
$( LINK) $( LINKOUT) $@ $( LDFLAGS) $( LIBDIRS) $( OBJ) $( PLATEXTRA) $( LIBS)
2014-02-19 15:27:27 +00:00
%.o : %.c
2017-09-07 06:03:01 +00:00
$( CC) $( CFLAGS) -c $( OBJOUT) $@ $<
%.o : %.cpp
$( CXX) $( CFLAGS) -c $( OBJOUT) $@ $<
2014-02-19 15:27:27 +00:00
2015-08-30 16:46:49 +00:00
%.o : %.S
2017-09-07 06:03:01 +00:00
$( CC) $( CFLAGS) -c $( OBJOUT) $@ $<
2015-08-30 16:46:49 +00:00
2014-02-19 15:27:27 +00:00
%.bmpobj : %.bmp
2017-09-07 06:03:01 +00:00
$( LD) -r -b binary $( OBJOUT) $@ $<
2014-02-19 15:27:27 +00:00
%.binobj : %.bin
2017-09-07 06:03:01 +00:00
$( LD) -r -b binary $( OBJOUT) $@ $<
2014-02-19 15:27:27 +00:00
$(APP_BOOTER_DIR)/app_booter.bin :
$( MAKE) -C $( APP_BOOTER_DIR)
pkg : all
i f e q ( $( platform ) , w i i )
2015-09-01 08:58:02 +00:00
cp -r $( EXT_TARGET) pkg/wii/CORE.dol
2014-02-19 15:27:27 +00:00
e l s e i f e q ( $( platform ) , n g c )
2015-09-01 08:58:02 +00:00
cp -r $( EXT_TARGET) pkg/ngc/CORE.dol
2014-02-19 16:47:59 +00:00
e l s e i f e q ( $( platform ) , p s p 1 )
psp-fixup-imports$( EXT) $( EXT_TARGET)
2014-02-19 15:27:27 +00:00
e n d i f
2014-02-21 21:09:46 +00:00
shaders-checkout :
2014-10-29 06:44:06 +00:00
@if test -d $( SHADER_CG_DIR) ; then \
2017-09-07 06:03:01 +00:00
echo "[SHADER CHECKOUT::] Git pulling common-shaders..." ; \
2014-10-29 06:44:06 +00:00
cd $( SHADER_CG_DIR) ; \
2017-09-07 06:03:01 +00:00
$( GIT) pull; \
cd ../../../../..; \
else \
echo "[SHADER CHECKOUT::] Git cloning common-shaders first..." ; \
2014-10-29 06:44:06 +00:00
$( GIT) clone git://github.com/libretro/common-shaders.git $( SHADER_CG_DIR) ; \
2017-09-07 06:03:01 +00:00
fi
2014-02-21 21:09:46 +00:00
shaders-deploy :
i f e q ( $( platform ) , p s 3 )
@if test -d $( MEDIA_SHADER_DIR) ; then \
2017-09-07 06:03:01 +00:00
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."
2014-02-21 21:09:46 +00:00
e l s e i f e q ( $( platform ) , p s 3 - c o b r a )
@if test -d $( MEDIA_SHADER_DIR) ; then \
2017-09-07 06:03:01 +00:00
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."
2014-02-21 21:09:46 +00:00
e n d i f
2014-02-21 21:12:51 +00:00
shaders-convert-glsl :
2014-10-29 06:44:06 +00:00
$( PYTHON3) tools/cg2glsl.py $( SHADER_CG_DIR) $( SHADER_GLSL_DIR)
2014-02-21 21:12:51 +00:00
2014-02-21 21:09:46 +00:00
overlays-checkout :
@if test -d $( OVERLAY_DIR) ; then \
2017-09-07 06:03:01 +00:00
echo "[OVERLAY CHECKOUT::] Git pulling common-overlays..." ; \
2014-02-21 21:09:46 +00:00
cd $( OVERLAY_DIR) ; \
2017-09-07 06:03:01 +00:00
$( GIT) pull; \
cd ../../../../..; \
else \
echo "[OVERLAY CHECKOUT::] Git cloning common-overlays first..." ; \
2014-02-21 21:09:46 +00:00
$( GIT) clone git://github.com/libretro/common-overlays.git $( OVERLAY_DIR) ; \
2017-09-07 06:03:01 +00:00
fi
2014-02-21 21:09:46 +00:00
2014-02-19 15:27:27 +00:00
clean :
2014-02-19 16:47:59 +00:00
rm -f $( EXT_TARGET)
rm -f $( EXT_INTER_TARGET)
2014-02-19 15:27:27 +00:00
rm -f $( OBJ)
i f e q ( $( platform ) , w i i )
$( MAKE) -C $( APP_BOOTER_DIR) clean
e n d i f
.PHONY : clean
2017-09-07 06:03:01 +00:00
print-% :
@echo '$*=$($*)'