# ********************************************************************** # # Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. # # This copy of Ice is licensed to you under the terms described in the # ICE_LICENSE file included in this distribution. # # ********************************************************************** # # This file is included by Make.rules.mak when using a Microsoft C++ # compiler # CXX = cl.exe CC = cl.exe LINK = link.exe AR = lib.exe RC = rc.exe BASE = /base PREOUT = /out: PRELIBS = PRELIBPATH = /LIBPATH: !if "$(OPTIMIZE)" != "yes" || "$(RELEASEPDBS)" == "yes" GENERATE_PDB = yes !endif CPPFLAGS = $(CPPFLAGS) -nologo -GR -EHsc -WX !if "$(MAXWARN)" != "yes" # Added for VS2015 RC: -wd4275 CPPFLAGS = $(CPPFLAGS) -W3 -wd4250 -wd4251 -wd4275 !else CPPFLAGS = $(CPPFLAGS) -W4 !endif ARFLAGS = $(ARFLAGS) -nologo -WX !if "$(WINRT)" == "yes" !if "$(PROCESSOR_ARCHITECTURE)" == "AMD64" WINDOWS_SDK_DIR = $(PROGRAMFILES) (x86)\Microsoft SDKs !else WINDOWS_SDK_DIR = $(PROGRAMFILES)\Microsoft SDKs !endif SDK_NAME = Ice !if "$(CPP_COMPILER)" == "VC110" TARGET_PLATFORM = Windows TARGET_PLATFORM_VERSION = 8.0 SDK_PREFIX = 8.0 MIN_VS_VERSION = 11.0 !elseif "$(CPP_COMPILER)" == "VC120" TARGET_PLATFORM = Windows TARGET_PLATFORM_VERSION = 8.1 SDK_PREFIX = 8.1 MIN_VS_VERSION = 12.0 !elseif "$(CPP_COMPILER)" == "VC140" TARGET_PLATFORM_VERSION = 10.0.10240.0 SDK_PREFIX = 10 TARGET_PLATFORM = UAP MIN_VS_VERSION = 14.0 !else !error TARGET_PLATFORM_VERSION: $(TARGET_PLATFORM_VERSION) not supported to build Ice for WinRT !endif CPPFLAGS = $(CPPFLAGS) -DWINAPI_FAMILY=2 -Gm- -Oy- -Gd -ZW -D_UNICODE -DUNICODE !if "$(TARGET_PLATFORM_VERSION)" == "8.1" CPPFLAGS = $(CPPFLAGS) /AI "$(WINDOWS_SDK_DIR)\Windows\v8.1\ExtensionSDKs\Microsoft.VCLibs\12.0\References\CommonConfiguration\neutral" !elseif "$(TARGET_PLATFORM_VERSION)" == "10.0.10240.0" CPPFLAGS = $(CPPFLAGS) /AI "$(VSINSTALLDIR)\VC\lib\store\references" !endif # # We ignore these two warnings # 4264 http://msdn.microsoft.com/en-us/library/windows/apps/hh771041(v=vs.110).aspx # 4221 is "This object file does not define any previously undefined public symbols", # ARFLAGS = $(ARFLAGS) /ignore:4264 /ignore:4221 !else # # ICE_WIN32_WINNT sets the minimum version of Windows supported by this build # 0x600 = Windows Vista / Windows Server 2008 # 0x601 = Windows 7 / Windows Server 2008 R2 # 0x602 = Windows 8 / Windows Server 2012 # ICE_WIN32_WINNT = 0x601 CPPFLAGS = $(CPPFLAGS) -D_CONSOLE -D_WIN32_WINNT=$(ICE_WIN32_WINNT) !endif CPPFLAGS = $(CPPFLAGS) -MP !if "$(OPTIMIZE)" == "yes" CPPFLAGS = $(CPPFLAGS) -O2 -DNDEBUG -MD CONFIG = Retail !if "$(RELEASEPDBS)" == "yes" CPPFLAGS = $(CPPFLAGS) -Zi -Oy- !endif !else CPPFLAGS = $(CPPFLAGS) -Zi -Od -D_DEBUG -MDd -RTC1 CONFIG = Debug !endif !if "$(STATICLIBS)" == "yes" CPPFLAGS = $(CPPFLAGS) -DICE_STATIC_LIBS !endif LDFLAGS = $(LDFLAGS) /nologo !if "$(WINRT)" == "yes" LDFLAGS = $(LDFLAGS) /NXCOMPAT /MANIFEST:NO /APPCONTAINER /NOLOGO !if "$(CPP_COMPILER)" == "VC140" !elseif "$(CPP_COMPILER)" == "VC120" !if "$(ARCH)" == "x86" LDFLAGS = $(LDFLAGS) /LIBPATH:"$(VCINSTALLDIR)\lib\store" !else LDFLAGS = $(LDFLAGS) /LIBPATH:"$(VCINSTALLDIR)\lib\store\$(ARCH)" !endif !else LDFLAGS = $(LDFLAGS) /FIXED:no !endif !endif !if "$(OPTIMIZE)" == "yes" LDFLAGS = $(LDFLAGS) /OPT:REF !endif !if "$(GENERATE_PDB)" != "yes" LDFLAGS = $(LDFLAGS) /pdb:none !else LDFLAGS = $(LDFLAGS) /debug /incremental:no !endif LD_DLLFLAGS = $(LDFLAGS) /dll LD_EXEFLAGS = $(LDFLAGS) !if "$(WINRT)" != "yes" LD_TESTFLAGS = $(LD_EXEFLAGS) $(SETARGV) !else LD_TESTFLAGS = $(LD_DLLFLAGS) !endif # # With MSVC, we link automatically all Ice libraries using pragma comment # BASELIBS = LIBS = !if "$(WINRT)" == "yes" SDK_VERSION = $(SHORT_VERSION) SDK_MANIFEST = SDKManifest.xml !if "$(ice_src_dist)" != "" SDK_BASE_PATH = $(top_srcdir)\SDKs\$(SDK_PREFIX)\$(TARGET_PLATFORM)\v$(TARGET_PLATFORM_VERSION)\ExtensionSDKs\$(SDK_NAME)\$(SDK_VERSION) !else SDK_BASE_PATH = $(ice_dir)\SDKs\$(SDK_PREFIX)\$(TARGET_PLATFORM)\v$(TARGET_PLATFORM_VERSION)\ExtensionSDKs\$(SDK_NAME)\$(SDK_VERSION) !endif SDK_INCLUDE_PATH = $(SDK_BASE_PATH)\DesignTime\CommonConfiguration\Neutral\include SDK_LIBRARY_PATH = $(SDK_BASE_PATH)\DesignTime\$(CONFIG)\$(ARCH) SDK_REFERENCES_PATH = $(SDK_BASE_PATH)\References\$(CONFIG)\$(ARCH) SDK_REDIST_PATH = $(SDK_BASE_PATH)\Redist\$(CONFIG)\$(ARCH) $(SDK_BASE_PATH): $(MKDIR) $(SDK_BASE_PATH) $(SDK_LIBRARY_PATH): $(MKDIR) $(SDK_LIBRARY_PATH) $(SDK_REDIST_PATH): $(MKDIR) $(SDK_REDIST_PATH) $(SDK_REFERENCES_PATH): $(MKDIR) $(SDK_REFERENCES_PATH) $(SDK_INCLUDE_PATH): $(MKDIR) $(SDK_INCLUDE_PATH) $(SDK_BASE_PATH)\$(SDK_MANIFEST): $(SDK_BASE_PATH) @echo <<$(SDK_MANIFEST) <