diff --git a/Makefile.libretro b/Makefile.libretro index 1a10add..4da72d1 100644 --- a/Makefile.libretro +++ b/Makefile.libretro @@ -285,6 +285,41 @@ else ifeq ($(platform), gcw0) SHARED := -shared -Wl,--version-script=src/drivers/libretro/link.T -Wl,-no-undefined PLATFORM_DEFINES += -ffast-math -march=mips32 -mtune=mips32r2 -mhard-float EXTERNAL_ZLIB = 1 + +# Windows MSVC 2017x64 +else ifeq ($(platform), windows_msvc2017_x64) + CC = cl.exe + CXX = cl.exe + +VSINSTALLROOT := $(shell "C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe" -latest -requires Microsoft.VisualStudio.Workload.NativeDesktop -property installationPath) +VCCOMPILERTOOLSVER := $(shell cat "$(VSINSTALLROOT)\VC\Auxiliary\Build\Microsoft.VCToolsVersion.default.txt" | grep -o '[0-9\.]*') +VCCOMPILERTOOLSDIR := $(VSINSTALLROOT)\VC\Tools\MSVC\$(VCCOMPILERTOOLSVER) + +ifeq ($(PROCESSOR_ARCHITECTURE),AMD64) +HOSTCPUARCHDIR := HostX64 +else +HOSTCPUARCHDIR := HostX86 +endif + +VCCOMPILERTOOLSBINDIR := $(VCCOMPILERTOOLSDIR)\bin\$(HOSTCPUARCHDIR) + +PATH := $(shell IFS=$$'\n'; cygpath "$(VCCOMPILERTOOLSBINDIR)/x64"):$(PATH) +PATH := $(PATH):$(shell IFS=$$'\n'; cygpath "$(VSINSTALLROOT)/Common7/IDE") +INCLUDE := $(shell IFS=$$'\n'; cygpath "$(VCCOMPILERTOOLSDIR)/include") +LIB := $(shell IFS=$$'\n'; cygpath "$(VCCOMPILERTOOLSDIR)/lib/x64") +BIN := $(shell IFS=$$'\n'; cygpath "$(VCCOMPILERTOOLSBINDIR)") + +WindowsSdkDir := $(shell reg query "HKLM\SOFTWARE\WOW6432Node\Microsoft\Microsoft SDKs\Windows\v10.0" -v "InstallationFolder" | grep -o '[A-Z]:\\.*')lib/x64 +WindowsSdkDir ?= $(shell reg query "HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0" -v "InstallationFolder" | grep -o '[A-Z]:\\.*')lib/x64 + +$(info sdkdir: $(WindowsSdkDir)) + +export INCLUDE := $(INCLUDE) +export LIB := $(LIB);$(WindowsSdkDir) +TARGET := $(TARGET_NAME)_libretro.dll +PSS_STYLE :=2 +LDFLAGS += -DLL + # Windows MSVC 2010 x64 else ifeq ($(platform), windows_msvc2010_x64) CC = cl.exe