Home | History | Annotate | Line # | Download | only in installer
NTMakefile revision 1.1.1.1.6.1
      1 ########################################################################
      2 #
      3 # Copyright (c) 2010-2013, Secure Endpoints Inc.
      4 # All rights reserved.
      5 # 
      6 # Redistribution and use in source and binary forms, with or without
      7 # modification, are permitted provided that the following conditions
      8 # are met:
      9 # 
     10 # - Redistributions of source code must retain the above copyright
     11 #   notice, this list of conditions and the following disclaimer.
     12 # 
     13 # - Redistributions in binary form must reproduce the above copyright
     14 #   notice, this list of conditions and the following disclaimer in
     15 #   the documentation and/or other materials provided with the
     16 #   distribution.
     17 # 
     18 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     19 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     20 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     21 # FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     22 # COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
     23 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
     24 # BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
     25 # LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
     26 # CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     27 # LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
     28 # ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     29 # POSSIBILITY OF SUCH DAMAGE.
     30 # 
     31 
     32 RELDIR=packages\windows\installer
     33 
     34 !include ..\..\..\windows/NTMakefile.w32
     35 
     36 !ifdef BUILD_INSTALLERS
     37 
     38 VERSIOND=$(VER_PRODUCT_MAJOR)-$(VER_PRODUCT_MINOR)-$(VER_PRODUCT_AUX)-$(VER_PRODUCT_PATCH)
     39 VERSION=$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR).$(VER_PRODUCT_AUX).$(VER_PRODUCT_PATCH)
     40 POLPREFIX=policy.$(VER_PRODUCT_MAJOR).$(VER_PRODUCT_MINOR)
     41 
     42 !if "$(CPU)"=="AMD64"
     43 PLATFORM=x64
     44 !else
     45 PLATFORM=x86
     46 !endif
     47 
     48 !if "$(BUILD)"=="rel"
     49 DEBUGOPT=
     50 !else
     51 DEBUGOPT=-$(BUILD)
     52 !endif
     53 
     54 ######################################################################
     55 # Heimdal Merge Modules
     56 
     57 !if exist(..\..\..\thirdparty\installer\heimdal-assemblies.wxs)
     58 ASM_WXS=..\..\..\thirdparty\installer\heimdal-assemblies.wxs
     59 !else
     60 ASM_WXS=heimdal-assemblies.wxs
     61 !endif
     62 
     63 ASSEMBLYMODULE=$(INSTDIR)\Heimdal.msm
     64 
     65 $(ASSEMBLYMODULE): $(OBJ)\heimdal-assemblies.wixobj
     66 	$(LIGHT) -out $@ $**
     67 
     68 $(OBJ)\heimdal-assemblies.wixobj: $(ASM_WXS)
     69 	$(CANDLE) -arch $(PLATFORM) -o $@ $**	\
     70 		-dVersion=$(VERSION)		\
     71 		-dBinDir=$(BINDIR)		\
     72 		-dAsmKrbName=$(ASMKRBNAME)		\
     73 		-dPlatform=$(PLATFORM)
     74 
     75 $(SDKREDISTDIR)\Heimdal.msm: $(ASSEMBLYMODULE)
     76 	$(CP) $** $@
     77 
     78 !if exist(..\..\..\thirdparty\installer\heimdal-policy.wxs)
     79 POLICY_WXS=..\..\..\thirdparty\installer\heimdal-policy.wxs
     80 !else
     81 POLICY_WXS=heimdal-policy.wxs
     82 !endif
     83 
     84 POLICYMODULE=$(INSTDIR)\Heimdal.Policy.msm
     85 
     86 $(POLICYMODULE): $(OBJ)\heimdal-policy.wixobj
     87 	$(LIGHT) -out $@ $**
     88 
     89 $(OBJ)\heimdal-policy.wixobj: $(POLICY_WXS)
     90 	$(CANDLE) -arch $(PLATFORM) -o $@ $**	\
     91 		-dVersion=$(VERSION)		\
     92 		-dBinDir=$(BINDIR)		\
     93 		-dAsmKrbName=$(ASMKRBNAME)		\
     94 		-dPlatform=$(PLATFORM)		\
     95 		-dPolPrefix=$(POLPREFIX)
     96 
     97 COMMANDMODULE=$(INSTDIR)\Heimdal.Command.msm
     98 
     99 $(COMMANDMODULE): $(OBJ)\heimdal-command.wixobj
    100 	$(LIGHT) -out $@ $**
    101 
    102 # OBJECT COMPILED BELOW
    103 
    104 $(SDKREDISTDIR)\Heimdal.Command.msm: $(COMMANDMODULE)
    105 	$(CP) $** $@
    106 
    107 GSSMODULE=$(INSTDIR)\Heimdal.GSS.msm
    108 
    109 $(GSSMODULE): $(OBJ)\heimdal-gss.wixobj
    110 	$(LIGHT) -out $@ $**
    111 
    112 # OBJECT COMPILED BELOW
    113 
    114 all:: $(ASSEMBLYMODULE) $(SDKREDISTDIR)\Heimdal.msm
    115 
    116 all:: $(POLICYMODULE)
    117 
    118 all:: $(COMMANDMODULE) $(SDKREDISTDIR)\Heimdal.Command.msm
    119 
    120 all:: $(GSSMODULE)
    121 
    122 clean::
    123 	-$(RM) $(ASSEMBLYMODULE)
    124 	-$(RM) $(POLICYMODULE)
    125 	-$(RM) $(COMMANDMODULE)
    126 	-$(RM) $(GSSMODULE)
    127 	-$(RM) $(SDKREDISTDIR)\*.*
    128 
    129 ######################################################################
    130 # Runtime modules
    131 
    132 !if [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==16
    133 VCVER=VC100
    134 !elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==15
    135 VCVER=VC90
    136 !elseif [ $(PERL) $(SRC)\cf\w32-detect-vc-version.pl $(CC) ]==14
    137 VCVER=VC80
    138 !else
    139 !  error Cant determine Visual C compiler version
    140 !endif
    141 
    142 $(SDKREDISTDIR)\heimdal-version.mak:
    143    @echo HEIMDAL_VCVER=$(VCVER)  > $@
    144 !if "$(BUILD)"!="rel"
    145    @echo HEIMDAL_CRT_DEBUG=yes   >> $@
    146 !endif
    147 
    148 all:: $(SDKREDISTDIR)\heimdal-version.mak
    149 
    150 !if "$(BUILD)"=="rel"
    151 CRTNAME=CRT
    152 !else
    153 CRTNAME=DebugCRT
    154 !endif
    155 
    156 !if "$(MMDIR)"==""
    157 MMDIR=$(ProgramFiles)\Common Files\Merge Modules
    158 !if !exist($(MMDIR))
    159 MMDIR=$(SystemDrive)\Program Files (x86)\Common Files\Merge Modules
    160 !endif
    161 !endif
    162 
    163 !if exist("$(MMDIR)")
    164 
    165 RUNTIMEMODULE32="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86.msm"
    166 !if "$(VCVER)"=="VC100"
    167 RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x64.msm"
    168 !else
    169 RUNTIMEMODULE64="$(MMDIR)\Microsoft_$(VCVER)_$(CRTNAME)_x86_x64.msm"
    170 !endif
    171 
    172 !else
    173 RUNTIMEMODULE32="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x86_msm.msm"
    174 RUNTIMEMODULE64="$(MSSDK)\Redist\VC\microsoft.vcxx.crt.x64_msm.msm"
    175 
    176 !endif
    177 
    178 
    179 ######################################################################
    180 # Heimdal installer
    181 
    182 CANDLEOPTS=	\
    183 	-dVersion=$(VERSION)			\
    184 	-dBinDir=$(BINDIR)			\
    185 	-dDocDir=$(DOCDIR)			\
    186 	-dSrcDir=$(SRC)				\
    187 	-dPlatform=$(PLATFORM)			\
    188 	-dAsmKrbName=$(ASMKRBNAME)		\
    189 	-dPolPrefix=$(POLPREFIX)
    190 
    191 !if "$(CPU)"=="AMD64"
    192 
    193 INSTDIR32=$(INSTDIR:AMD64=i386)
    194 
    195 CANDLEOPTS=$(CANDLEOPTS) -dTarget64	\
    196 	-dInstDir32=$(INSTDIR32)	\
    197 	-dInstDir64=$(INSTDIR)			\
    198 	-dRuntimeModule32=$(RUNTIMEMODULE32)	\
    199 	-dRuntimeModule64=$(RUNTIMEMODULE64)
    200 
    201 !ifdef MULTIPLATFORM_INSTALLER
    202 CANDLEOPTS_MULTI= -dTarget32
    203 TYPEOPT=-full
    204 
    205 INSTDEPS= \
    206 	$(INSTDIR32)\Heimdal.msm \
    207 	$(INSTDIR32)\Heimdal.GSS.msm	\
    208 	$(INSTDIR32)\Heimdal.Policy.msm	\
    209 	$(ASSEMBLYMODULE) $(GSSMODULE) $(POLICYMODULE)
    210 !else
    211 !  message Excluding 32-bit components from installer
    212 TYPEOPT=
    213 
    214 INSTDEPS= \
    215 	$(ASSEMBLYMODULE) $(GSSMODULE) $(POLICYMODULE)
    216 !endif
    217 
    218 
    219 !else
    220 
    221 CANDLEOPTS=$(CANDLEOPTS) -dTarget32		\
    222 	-dInstDir32=$(INSTDIR)			\
    223 	-dRuntimeModule32=$(RUNTIMEMODULE32)	\
    224 
    225 INSTDEPS= \
    226 	$(ASSEMBLYMODULE) $(GSSMODULE) $(POLICYMODULE)
    227 !endif
    228 
    229 !if exist($(SRC)\thirdparty\MKShim)
    230 THIRDPARTYOBJS=$(THIRDPARTYOBJS) $(INSTDIR)\MKShim.wixlib
    231 THIRDPARTYOPTS=$(THIRDPARTYOPTS) -dMKShim=1
    232 
    233 !if "$(CPU)"=="AMD64"
    234 THIRDPARTYOBJS=$(THIRDPARTYOBJS) $(INSTDIR32)\MKShim.wixlib
    235 !endif
    236 !endif
    237 
    238 INSTALLER=$(INSTDIR)\Heimdal-$(CPU)$(DEBUGOPT)$(TYPEOPT)-$(VERSIOND).msi
    239 WIXOBJ=$(OBJ)\heimdal-installer$(TYPEOPT).wixobj
    240 
    241 $(INSTALLER): $(WIXOBJ) $(THIRDPARTYOBJS) $(INSTDEPS) lang\en-us.wxl
    242 	$(LIGHT) -out $@ $(WIXOBJ) $(THIRDPARTYOBJS)	\
    243 		-sval -cultures:en-us -loc lang\en-us.wxl	\
    244 		-dWixUILicenseRtf=lang\license-en-us.rtf	\
    245 		-ext WixUIExtension
    246 	$(_CODESIGN)
    247 
    248 $(WIXOBJ): heimdal-installer.wxs
    249 	$(CANDLE) -arch $(PLATFORM) -o $@ heimdal-installer.wxs \
    250 		$(CANDLEOPTS) $(CANDLEOPTS_MULTI) $(THIRDPARTYOPTS)
    251 
    252 !if exist(thirdparty\installer\heimdal-command.wxs)
    253 CMD_WXS=thirdparty\installer\heimdal-command.wxs
    254 !else
    255 CMD_WXS=heimdal-command.wxs
    256 !endif
    257 
    258 $(OBJ)\heimdal-command.wixobj: $(CMD_WXS)
    259 	$(CANDLE) -arch $(PLATFORM) -o $@ $(CMD_WXS) \
    260 		$(CANDLEOPTS) $(THIRDPARTYOPTS)
    261 
    262 !if exist(thirdparty\installer\heimdal-gss.wxs)
    263 GSS_WXS=thirdparty\installer\heimdal-gss.wxs
    264 !else
    265 GSS_WXS=heimdal-gss.wxs
    266 !endif
    267 
    268 $(OBJ)\heimdal-gss.wixobj: $(GSS_WXS)
    269 	$(CANDLE) -arch $(PLATFORM) -o $@ $(GSS_WXS) \
    270 		$(CANDLEOPTS) $(THIRDPARTYOPTS)
    271 
    272 all:: $(INSTALLER)
    273 
    274 clean::
    275 	-$(RM) $(INSTALLER)
    276 
    277 !endif				# BUILD_INSTALLERS
    278