4 rem EXAMPLE - Build entire openIB-windows release & WIX installers (.msi) files.
\r
5 rem Binary release is constructed in ..\Branches\WinOF\Wix\OS\bin.
\r
6 rem Processor architecture specific WIX installers are constructed
\r
9 rem BuildRelease option
\r
10 rem option == all | allnoforce | compile | compilenoforce | makebin | msi | wix | clean {OPENIB_REV}
\r
13 rem This script is an 'example' of a one-command entire IB stack build to
\r
14 rem single-file installer; used to build a WinOF releases.
\r
15 rem Script is designed to be invoked from the <whatever>\gen1\trunk folder with
\r
16 rem <whatever>\branches\WinOF\Wix\* accessible.
\r
18 rem Verify the following env vars are suitible for your system configuration.
\r
19 rem _DDK, _PSDK, SVN, IDIR
\r
21 if "%1" == "" goto usage
\r
22 if "%1" == "/?" goto usage
\r
23 if "%1" == "-h" goto usage
\r
24 if "%1" == "all" goto OK
\r
25 if "%1" == "allnoforce" goto OK
\r
26 if "%1" == "compile" goto OK
\r
27 if "%1" == "compilenoforce" goto OK
\r
28 if "%1" == "makebin" goto OK
\r
29 if "%1" == "msi" goto OK
\r
30 if "%1" == "wix" goto OK
\r
31 if "%1" == "clean" goto OK
\r
33 echo Unknown arg '%1' ?
\r
37 echo "usage: BuildRelease all | allnoforce | compile | compilenoforce | makebin | msi | wix | clean {OPENIB_REV value}"
\r
39 echo all - force recompile, install binaries to WIX tree, sign drivers and
\r
40 echo build installers.
\r
42 echo allnoforce - recompile only if needed, install binaries to WIX tree,
\r
43 echo sign drivers and build installers.
\r
44 echo compile - force a recompile/link of everything then exit.
\r
45 echo compilenoforce - recompile/link only if needed then exit.
\r
46 echo makebin - assumes binaries are built, will installs binaries to WIX tree
\r
48 echo msi - assumes binaries are installed in WIX tree, signs drivers and
\r
49 echo create installers (.msi files) in IDIR.
\r
50 echo wix - build .msi installers, assumes (drivers signed) .cat files exist
\r
51 echo clean - remove build artifacts for a clean build: .obj, .sys, ...
\r
54 echo optional, if set then OPENIB_REV is assigned this value.
\r
55 echo example: BuildRelease all 1414
\r
61 if not "%WDM_INC_PATH%" == "" (
\r
62 echo %0: Error - %0 unable to run from WDK window,
\r
67 rem remove build artifacts
\r
68 if "%1" == "clean" (
\r
69 echo Removing build artifacts and folders...
\r
70 call %CD%\etc\clean-build.bat
\r
74 rem set CERTNAME=noCert
\r
75 set CERTNAME=cse1CStore
\r
77 rem A Digital driver signing certificate store name may be required.
\r
79 if "%CERTNAME%" == "noCert" set /P CERTNAME=[Enter Certificate Store Name]
\r
80 if "%CERTNAME%" == "" (
\r
82 echo %0: Err - driver signing certificate store name required.
\r
83 echo %0: see certmgr.exe
\r
89 if "%CERTNAME%" == "noCert" set /P CERTNAME=[Enter Certificate Store Name]
\r
90 if "%CERTNAME%" == "" (
\r
92 echo %0: Err - driver signing certificate store name required.
\r
93 echo %0: see certmgr.exe
\r
100 set _DDK=C:\WinDDK\6001.18001
\r
102 if NOT EXIST %_DDK% (
\r
103 echo Missing WDK @ %_DDK%
\r
106 echo %0 - Building with WDK @ %_DDK%
\r
108 rem Platform SDK path - watchout for missing LoadPerf.h (installsp.c)
\r
109 set _PSDK=C:\progra~1\mi2578~1
\r
111 rem setup value for OPENIB_REV assignment.
\r
113 if not "%2" == "" (
\r
116 rem WARNING - SVN value depends on the path '\openIB-windows-svn\XXX\gen1',
\r
117 rem where SVN is set to XXX
\r
118 rem substring[23rd...26th] chars (offset counting) == xxxx
\r
119 rem Note - OPENIB_REV is assigned SVN in a child script.
\r
124 rem assumes %CD% == '...\gen1\trunk'
\r
126 set WIX=%CD:trunk=Branches\WinOF\WIX%
\r
128 set RBIN_WLH=%WIX%\wlh\bin%
\r
129 set RBIN_WNET=%WIX%\wnet\bin%
\r
130 set RBIN_WXP=%WIX%\wxp\bin%
\r
132 if NOT EXIST "..\branches\WinOF\WIX\build-all-MSI.bat" (
\r
133 echo %0 - Missing .msi installer build script
\r
134 echo ..\branches\WinOF\WIX\build-all-MSI.bat
\r
138 rem WIX Installer files (.msi) destination folder - set for local environment.
\r
140 set IDIR=%SystemRoot%\temp
\r
142 echo Building for OPENIB_REV %SVN%, installer files @ %IDIR%
\r
143 echo Drivers signed using Certificate '%CERTNAME%'
\r
145 rem pause thoughtfully.
\r
146 if exist %windir%\system32\timeout.exe (
\r
152 if NOT EXIST "%IDIR%" (
\r
153 echo %0 - Missing Installer file destination folder %IDIR%
\r
157 rem Verify WIX 2.0 toolset is available - if not, download from
\r
158 rem http://sourceforge.net/project/showfiles.php?group_id=105970&package_id=114109
\r
159 rem select wix-2.0.5325.0-binaries.zip download and unzip to
\r
160 rem ..\branches\WinOF\WIX\WIX_tools\
\r
162 if NOT EXIST %WIX%\WIX_tools\wix-2.0.5325.0-binaries (
\r
163 echo %0 - Missing WIX tools @ %WIX%\WIX_tools
\r
167 if NOT EXIST etc\makebin.bat (
\r
168 echo %0 - Missing etc\makebin.bat, script must run from gen1\trunk
\r
173 rem skip build - assumes binaries already built.
\r
176 set CERTNAME=nosign
\r
181 if not EXIST "%RBIN_WLH%" goto InstallBin
\r
182 if not EXIST "%RBIN_WNET%" goto InstallBin
\r
183 if not EXIST "%RBIN_WXP%" goto InstallBin
\r
187 if "%1" == "makebin" goto InstallBin
\r
190 if "%1" == "allnoforce" (
\r
191 rem Compile everything only if needed.
\r
194 if "%1" == "compilenoforce" (
\r
195 rem Compile everything only if needed.
\r
200 echo Removing build artifacts and folders...
\r
201 call %CD%\etc\clean-build.bat
\r
204 rem ********* Compile for WLH - Windows Server 2008 & Vista
\r
207 echo %0 - Build WLH x64 Checked
\r
208 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"
\r
209 if ERRORLEVEL 1 exit /B 1
\r
210 echo %0 - Build WLH x64 Free
\r
211 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"
\r
212 if ERRORLEVEL 1 exit /B 1
\r
216 echo %0 - Build WLH x86 Checked
\r
217 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"
\r
218 if ERRORLEVEL 1 exit /B 1
\r
219 echo %0 - Build WLH x86 Free
\r
220 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"
\r
221 if ERRORLEVEL 1 exit /B 1
\r
224 echo %0 - Build WLH ia64 Checked
\r
225 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"
\r
226 if ERRORLEVEL 1 exit /B 1
\r
227 echo %0 - Build WLH ia64 Free
\r
228 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WLH & build %OPS%"
\r
229 if ERRORLEVEL 1 exit /B 1
\r
232 rem ********* WXP - Windows XP - x86 only
\r
234 echo %0 - Build XP x86 Checked
\r
235 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WXP & build %OPS%"
\r
236 if ERRORLEVEL 1 exit /B 1
\r
238 echo %0 - Build XP x86 Free
\r
239 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WXP & build %OPS%"
\r
240 if ERRORLEVEL 1 exit /B 1
\r
243 rem ********* WNET - Windows Server 2003
\r
244 echo %0 - Build WNET x64 Checked
\r
245 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"
\r
246 if ERRORLEVEL 1 exit /B 1
\r
247 echo %0 - Build WNET x64 Free
\r
248 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"
\r
249 if ERRORLEVEL 1 exit /B 1
\r
251 echo %0 - Build WNET x86 Checked
\r
252 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"
\r
253 if ERRORLEVEL 1 exit /B 1
\r
254 echo %0 - Build WNET x86 Free
\r
255 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_x86.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"
\r
256 if ERRORLEVEL 1 exit /B 1
\r
258 echo %0 - Build WNET ia64 Checked
\r
259 %COMSPEC% /C "call %BSE%\etc\IB_CHK_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"
\r
260 if ERRORLEVEL 1 exit /B 1
\r
261 echo %0 - Build WNET ia64 Free
\r
262 %COMSPEC% /C "call %BSE%\etc\IB_FRE_BLD_IA64.bat %SVN% %CD% %_DDK% %_PSDK% WNET & build %OPS%"
\r
263 if ERRORLEVEL 1 exit /B 1
\r
265 if "%1" == "compile" goto finito
\r
266 if "%1" == "compilenoforce" goto finito
\r
268 rem Install binaries into WIX environment, build msi installers.
\r
272 echo Create binary release tree - suitible for WinOF-WIX installer build.
\r
274 if EXIST "%RBIN_WLH%" (rmdir /S /Q %RBIN_WLH% & echo %0 - removed %RBIN_WLH%)
\r
275 if EXIST "%RBIN_WNET%" (rmdir /S /Q %RBIN_WNET% & echo %0 - removed %RBIN_WNET%)
\r
276 if EXIST "%RBIN_WXP%" (rmdir /S /Q %RBIN_WXP% & echo %0 - removed %RBIN_WXP%)
\r
282 if EXIST "%BSE%\etc\makebin.bat" (
\r
283 echo etc\makebin.bat %BSE% %RBIN_WLH% wlh
\r
284 call %BSE%\etc\makebin.bat %BSE% %RBIN_WLH% wlh
\r
286 echo %0: Err in makebin.bat %BSE% %RBIN_WLH% wlh
\r
289 echo etc\makebin.bat %BSE% %RBIN_WNET% wnet
\r
290 call %BSE%\etc\makebin.bat %BSE% %RBIN_WNET% wnet
\r
292 echo %0: Err in makebin.bat %BSE% %RBIN_WNET% wnet
\r
295 echo etc\makebin.bat %BSE% %RBIN_WXP% wxp
\r
296 call %BSE%\etc\makebin.bat %BSE% %RBIN_WXP% wxp
\r
298 echo %0: Err in makebin.bat %BSE% %RBIN_WXP% wxp
\r
303 if "%1" == "makebin" goto finito
\r
307 echo %0 - Drivers Signed with %CERTNAME% , Binary releases built in
\r
312 rem build WIX installers --> see ..\branches\WinOF\WIX
\r
314 %COMSPEC% /V:on /E:on /C "%_DDK%\bin\setenv.bat %_DDK% fre X64 WNET & cd /D %WIX% & build-all-MSI %CERTNAME% %IDIR%"
\r
320 echo %0: Finished %0 %*
\r
321 echo %0: Started %STIME%
\r
322 echo %0: Finished %TIME%
\r