# ********************************************************************** # # 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. # # ********************************************************************** # # Select an installation base directory. The directory will be created # if it does not exist. # !if "$(PREFIX)" == "" prefix = C:\Ice-$(VERSION) !else prefix = $(PREFIX) !endif # # Ice invokes unmanaged code to implement the following features: # # - Protocol compression # - Signal processing in the Ice.Application class (Windows only) # # Enable MANAGED below if you do not require these features and prefer that # the Ice run time use only managed code. # #MANAGED = yes # # Enable the UNITY flag to build for the Unity3D Web player. Enabling this # setting also implies MANAGED. In addition to the features removed by # MANAGED, this flag removes the following: # # - File I/O: property loading, file logger (Ice.LogFile), I/O redirection # (Ice.StdOut, Ice.StdErr) # - ICE_CONFIG environment variable # #UNITY = yes # # Define DEBUG as yes if you want to build with debug information and # assertions enabled. # DEBUG = yes # # Define OPTIMIZE as yes if you want to build with optimization. # #OPTIMIZE = yes # # Define FRAMEWORK as 3.5 to force a .NET 3.5 build with Visual Studio 2010. # #FRAMEWORK = 3.5 # # Set the key file used for strong name signing of assemblies. # !if "$(KEYFILE)" == "" KEYFILE = $(top_srcdir)\..\config\IceDevKey.snk !endif # # Define if you want the Ice assemblies to be authenticode signed. # #SIGN_CERTIFICATE = MyCertFile.pfx #SIGN_PASSWORD = MyCertPassword #SIGN_TIMESTAMPSERVER = http://timestamp.verisign.com/scripts/timstamp.dll # ---------------------------------------------------------------------- # Don't change anything below this line! # ---------------------------------------------------------------------- # # Common definitions # ice_language = csharp slice_translator = slice2cs.exe !if exist ($(top_srcdir)\..\config\Make.common.rules.mak) !include $(top_srcdir)\..\config\Make.common.rules.mak !else !include $(top_srcdir)\config\Make.common.rules.mak !endif bindir = $(top_srcdir)\bin assembliesdir = $(top_srcdir)\Assemblies install_bindir = $(prefix)\bin install_assembliesdir = $(prefix)\Assemblies install_configdir = $(prefix)\config install_libdir = $(prefix)\lib !if "$(ice_src_dist)" != "" refdir = $(assembliesdir) !else refdir = $(ice_dir)\Assemblies !endif !if "$(PATCH_VERSION)" != "0" && "$(PATCH_VERSION)" != "51" generate_policies = yes !endif MCS = csc -nologo # # UNITY implies MANAGED. # !if "$(UNITY)" == "yes" MANAGED = yes !endif MCSFLAGS = -warnaserror !if "$(DEBUG)" == "yes" !if "$(OPTIMIZE)" == "yes" MCSFLAGS = $(MCSFLAGS) -debug:pdbonly !else MCSFLAGS = $(MCSFLAGS) -debug !endif MCSFLAGS = $(MCSFLAGS) -define:DEBUG !endif !if "$(OPTIMIZE)" == "yes" MCSFLAGS = $(MCSFLAGS) -optimize+ !endif !if "$(MANAGED)" == "yes" MCSFLAGS = $(MCSFLAGS) -define:MANAGED !endif !if "$(UNITY)" == "yes" MCSFLAGS = $(MCSFLAGS) -define:UNITY !endif # Define for SupressMessage to work #MCSFLAGS = $(MCSFLAGS) -define:CODE_ANALYSIS !if "$(FRAMEWORK)" == "3.5" MCSFLAGS = $(MCSFLAGS) /noconfig /nostdlib+ /define:DOTNET3_5 MCSFLAGS = $(MCSFLAGS) /reference:"$(FRAMEWORKDIR)\v2.0.50727\mscorlib.dll" MCSFLAGS = $(MCSFLAGS) /reference:"$(FRAMEWORKDIR)\v2.0.50727\System.dll" MCSFLAGS = $(MCSFLAGS) /reference:"$(FRAMEWORKDIR)\v2.0.50727\System.Data.dll" MCSFLAGS = $(MCSFLAGS) /reference:"$(PROGRAMFILES)\Reference Assemblies\Microsoft\Framework\v3.5\System.Core.dll" MCSFLAGS = $(MCSFLAGS) /reference:"$(PROGRAMFILES)\Reference Assemblies\Microsoft\Framework\v3.0\System.Runtime.Serialization.dll" !elseif "$(UNITY)" == "yes" # # You can compile against the WebPlayer assemblies by enabling the MCSFLAGS line below. # You'll need to change UNITY_LIBDIR to the appropriate directory for your system. # UNITY_LIBDIR = C:\Program Files\Unity\Editor\Data\Mono\lib\mono\unity_web UNITY_LIBS = "/r:$(UNITY_LIBDIR)\mscorlib.dll" \ "/r:$(UNITY_LIBDIR)\System.dll" \ "/r:$(UNITY_LIBDIR)\System.Core.dll" MCSFLAGS = $(MCSFLAGS) -noconfig -nostdlib $(UNITY_LIBS) !endif !if "$(ice_src_dist)" != "" !if "$(ice_cpp_dir)" == "$(ice_dir)\cpp" SLICE2CS = $(ice_cpp_dir)\bin\slice2cs.exe SLICEPARSERLIB = $(ice_cpp_dir)\lib\slice.lib !if !exist ("$(SLICEPARSERLIB)") SLICEPARSERLIB = $(ice_cpp_dir)\lib\sliced.lib !endif !else SLICE2CS = $(ice_cpp_dir)\bin$(x64suffix)\slice2cs.exe SLICEPARSERLIB = $(ice_cpp_dir)\lib$(x64suffix)\slice.lib !if !exist ("$(SLICEPARSERLIB)") SLICEPARSERLIB = $(ice_cpp_dir)\lib$(x64suffix)\sliced.lib !endif !endif !else SLICE2CS = $(ice_dir)\bin\slice2cs.exe SLICEPARSERLIB = $(ice_dir)\lib\slice.lib !endif EVERYTHING = all clean install depend EVERYTHING_EXCEPT_INSTALL = all clean depend .SUFFIXES: .SUFFIXES: .cs .ice DEPEND_DIR = .depend.mak !if "$(GEN_SRCS)" != "" $(GEN_SRCS): "$(SLICE2CS)" "$(SLICEPARSERLIB)" GEN_DEPENDS = $(GEN_SRCS:.cs=.d) GEN_DEPENDS = $(GEN_DEPENDS:generated\=.depend.mak\) DEPENDS = $(DEPENDS) $(GEN_DEPENDS) !endif !if "$(CGEN_SRCS)" != "" $(CGEN_SRCS): "$(SLICE2CS)" "$(SLICEPARSERLIB)" CGEN_DEPENDS = $(CGEN_SRCS:.cs=.d) CGEN_DEPENDS = $(CGEN_DEPENDS:generated\=.depend.mak\) DEPENDS = $(DEPENDS) $(CGEN_DEPENDS) !endif !if "$(SGEN_SRCS)" != "" $(SGEN_SRCS): "$(SLICE2CS)" "$(SLICEPARSERLIB)" SGEN_DEPENDS = $(SGEN_SRCS:.cs=.d) SGEN_DEPENDS = $(SGEN_DEPENDS:generated\=.depend.mak\) DEPENDS = $(DEPENDS) $(SGEN_DEPENDS) !endif !if "$(GEN_AMD_SRCS)" != "" $(GEN_AMD_SRCS): "$(SLICE2CS)" "$(SLICEPARSERLIB)" GEN_AMD_DEPENDS = $(GEN_AMD_SRCS:.cs=.d) GEN_AMD_DEPENDS = $(GEN_AMD_DEPENDS:generated\=.depend.mak\) DEPENDS = $(DEPENDS) $(GEN_AMD_DEPENDS) !endif !if "$(SAMD_GEN_SRCS)" != "" $(SAMD_GEN_SRCS): "$(SLICE2CS)" "$(SLICEPARSERLIB)" SAMD_GEN_DEPENDS = $(SAMD_GEN_SRCS:.cs=.d) SAMD_GEN_DEPENDS = $(SAMD_GEN_DEPENDS:generated\=.depend.mak\) DEPENDS = $(DEPENDS) $(SAMD_GEN_DEPENDS) !endif !if exist(.depend.mak) !include .depend.mak !endif depend:: !if "$(DEPENDS)" != "" depend:: @del /q .depend.mak depend:: $(DEPENDS) !endif {$(SDIR)}.ice{$(DEPEND_DIR)}.d: @echo Generating dependencies for $< @"$(SLICE2CS)" --output-dir $(GDIR) $(SLICE2CSFLAGS) --depend $< |\ cscript /NoLogo $(top_srcdir)\..\config\makedepend-slice.vbs $(*F).ice {$(SDIR)}.ice{$(GDIR)}.cs: "$(SLICE2CS)" --output-dir $(GDIR) $(SLICE2CSFLAGS) $< all:: $(TARGETS) AL = al POLICY = policy.$(SHORT_VERSION).$(PKG) !if "$(generate_policies)" == "yes" && "$(POLICY_TARGET)" != "" all:: $(assembliesdir)/$(POLICY_TARGET) !endif clean:: del /q $(TARGETS) *.pdb !if "$(GEN_SRCS)" != "" clean:: del /q $(GEN_SRCS) !endif !if "$(CGEN_SRCS)" != "" clean:: del /q $(CGEN_SRCS) !endif !if "$(SGEN_SRCS)" != "" clean:: del /q $(SGEN_SRCS) !endif !if "$(GEN_AMD_SRCS)" != "" clean:: del /q $(GEN_AMD_SRCS) !endif !if "$(SAMD_GEN_SRCS)" != "" clean:: del /q $(SAMD_GEN_SRCS) !endif !if "$(generate_policies)" == "yes" && "$(POLICY_TARGET)" != "" $(assembliesdir)/$(POLICY_TARGET): !if "$(PUBLIC_KEY_TOKEN)" == "" !if "$(ice_src_dist)" != "" @sn -q -p "$(KEYFILE)" tmp.pub && \ sn -q -t tmp.pub > tmp.publicKeyToken && \ set /P TMP_TOKEN= < tmp.publicKeyToken && \ cmd /c "set PUBLIC_KEY_TOKEN=%TMP_TOKEN:~-16% && \ del tmp.pub tmp.publicKeyToken && \ nmake /nologo /f Makefile.mak policy" !else @sn -q -T $(ice_dir)\Assemblies\Ice.dll > tmp.publicKeyToken && \ set /P TMP_TOKEN= < tmp.publicKeyToken && \ cmd /c "set PUBLIC_KEY_TOKEN=%TMP_TOKEN:~-16% && \ del tmp.publicKeyToken && \ nmake /nologo /f Makefile.mak policy" !endif !endif publicKeyToken = $(PUBLIC_KEY_TOKEN: =) policy: @echo <<$(POLICY) <