[OFED] Win7 is part of the 'default' release build; remove conditionals (simplify).
[mirror/winof/.git] / OFED / BuildRelease.bat
1 @echo off\r
2 setlocal\r
3 rem tabstop=4\r
4 \r
5 rem version: 2.1.0\r
6 \r
7 rem EXAMPLE - Build entire openIB-windows release & WIX installers (.msi) files.\r
8 rem           Binary release is constructed in OFED\Wix\OS\bin.\r
9 rem           Processor architecture specific WIX installers are constructed\r
10 rem           in %IDIR%\r
11 rem\r
12 rem BuildRelease option\r
13 rem  option: all | allnoforce | allf | allnf | compile | compilenoforce |\r
14 rem          compf path | compnf path | makebin | msi |sign | wix | clean |\r
15 rem          msi-label | msi-del | msi-dir {OPENIB_REV}\r
16 \r
17 rem This script is an 'example' of a one-command entire IB stack build to\r
18 rem single-file installer; used to build a OFED releases.\r
19 rem Script is designed to be invoked from the <whatever>\gen1\trunk folder with\r
20 rem <whatever>\gen1\trunk\OFED\Wix\* present.\r
21 rem\r
22 rem Verify the following env vars are suitible for your system configuration.\r
23 rem     _DDK, _PSDK, SVN, IDIR, CERTFILE, SW_PUBLISHER\r
24 \r
25 rem 'nf path' command variants are required due to a bug in the WDK build env.\r
26 rem ipoib\ & ipoib_ndis6_cm\ both build ipoib.sys just for different OS\r
27 rem versions. The problem arises when a compile is forced on one folder or the\r
28 rem other, all instances of ipoib.sys are deleted\r
29 \r
30 rem WIX Installer files (.msi) destination folder - set for local environment.\r
31 set IDIR=%SystemRoot%\temp\r
32 \r
33 if "%1" == "" goto usage\r
34 if "%1" == "/?" goto usage\r
35 if "%1" == "-h" goto usage\r
36 if "%1" == "all" goto OK\r
37 if "%1" == "allnoforce" goto OK\r
38 if "%1" == "allf" (\r
39 :allf\r
40     if "%2" == "" goto usage\r
41     set FPATH=%2\r
42     if exist "%2" goto OK\r
43         echo %0 Err - path .\%2 does not exist?\r
44         exit /B 1\r
45 )\r
46 if "%1" == "allnf" goto allf\r
47 if "%1" == "compile" goto OK\r
48 if "%1" == "compilenoforce" goto OK\r
49 if "%1" == "compf" (\r
50 :cpf\r
51     if "%2" == "" goto usage\r
52     set FPATH=%2\r
53     if exist "%2" goto OK\r
54         echo %0 Err - path .\%2 does not exist?\r
55         exit /B 1\r
56 )\r
57 if "%1" == "compnf" goto cpf\r
58 if "%1" == "makebin" goto OK\r
59 if "%1" == "msi" goto OK\r
60 if "%1" == "sign" goto OK\r
61 if "%1" == "wix" goto OK\r
62 if "%1" == "clean" goto OK\r
63 if "%1" == "msi-label" goto OK\r
64 if "%1" == "msi-del" goto OK\r
65 if "%1" == "msi-dir" goto OK\r
66 \r
67 echo Unknown arg '%1' ?\r
68 \r
69 :usage\r
70 \r
71 echo "usage: BuildRelease command {OPENIB_REV value}"\r
72 echo where 'command' may be:\r
73 echo    all - force recompile, install binaries to WIX tree(makebin),\r
74 echo          sign drivers and build installers.\r
75 echo    allnoforce - recompile only if needed, makebin, sign drivers and \r
76 echo                 build installers.\r
77 echo    allf path - force recompile the specified folder, makebin,\r
78 echo                sign drivers and build installers.\r
79 echo    allnf path - recompile specified folder ONLY if required, makebin,\r
80 echo                sign drivers and build installers.\r
81 echo    compile - force a recompile/link of everything then exit.\r
82 echo    compilenoforce - recompile/link only if needed then exit.\r
83 echo    compf path - force recompile (all arch*) specified folder\r
84 echo    compnf path - No-force recompile (all arch*) specified folder\r
85 echo    makebin - assumes binaries are built, installs binaries to WIX tree\r
86 echo              then exit.\r
87 echo    msi - assumes binaries are installed in WIX tree, signs drivers and\r
88 echo          create installers (.msi files) in IDIR.\r
89 echo    sign - assumes binaries are built and installed, sign drivers, exit.\r
90 echo    wix - build .msi installers, assumes (drivers signed) .cat files exist\r
91 echo    clean - remove build artifacts for a clean build: .obj, .sys, ...\r
92 echo    msi-label {OPENIB_REV}\r
93 echo           rename WOF_os*_arch*.msi to WOF_os*_arch*_svn#.msi \r
94 echo           Uniquely identify installers just created.\r
95 echo           If OPENIB_REV arg used, then rename WOF_os*_arch*argVal.msi\r
96 echo           otherwise, use SVN# from path.\r
97 echo    msi-del - del %windir%\temp\WOF_os*_arch*.msi\r
98 echo    msi-dir - del %windir%\temp\WOF_os*_arch*.msi\r
99 echo :\r
100 echo    {OPENIB_REV}\r
101 echo       optional, if set then OPENIB_REV is assigned this value.\r
102 echo            example: BuildRelease all 1414\r
103 \r
104 exit /B 1 \r
105 \r
106 :OK\r
107 \r
108 if not "%WDM_INC_PATH%" == "" (\r
109     echo %0: Error - %0 unable to run from WDK window,\r
110     echo     use %comspec%\r
111     exit /B 1\r
112 )\r
113 \r
114 rem assumes %CD% == '<...>\gen1\trunk'\r
115 set BSE=%CD%\r
116 set WIX=%CD%\OFED\WIX\r
117 \r
118 rem Setup Wix 3.0 items\r
119 \r
120 set WIX_BIN=wix3.0.5419.0-binaries\r
121 \r
122 \r
123 set RBIN_W7=%WIX%\win7\bin%\r
124 set RBIN_WLH=%WIX%\wlh\bin%\r
125 set RBIN_WNET=%WIX%\wnet\bin%\r
126 set RBIN_WXP=%WIX%\wxp\bin%\r
127 \r
128 rem remove build artifacts\r
129 if "%1" == "clean" (\r
130     echo Removing build artifacts and folders...\r
131     call %CD%\etc\clean-build.bat\r
132     if exist %WIX%\win7\bin (\r
133                 echo Removing %WIX%\win7\bin\r
134                 rmdir /Q /S %WIX%\win7\bin\r
135     )\r
136     if exist %WIX%\wlh\bin (\r
137                 echo Removing %WIX%\wlh\bin\r
138                 rmdir /Q /S %WIX%\wlh\bin\r
139     )\r
140     if exist %WIX%\wnet\bin (\r
141                 echo Removing %WIX%\wnet\bin\r
142                 rmdir /Q /S %WIX%\wnet\bin\r
143     )\r
144     if exist %WIX%\wxp\bin (\r
145                 echo Removing %WIX%\wxp\bin\r
146                 rmdir /Q /S %WIX%\wxp\bin\r
147     )\r
148     exit /B 0\r
149 )\r
150 \r
151 rem Driver Signing Certificate filename, assumes %WIX%\%CERTFILE% is valid.\r
152 rem set CERTFILE=noCert\r
153 set CERTFILE=MSCV-VSClass3.cer\r
154 set SW_PUBLISHER="OpenFabrics Alliance"\r
155 \r
156 rem A Digital driver signing certificate store name may be required.\r
157 \r
158 if "%1" == "all" goto chk_cert\r
159 if "%1" == "allf" goto chk_cert\r
160 if "%1" == "allnf" goto chk_cert\r
161 if "%1" == "msi" goto chk_cert\r
162 if "%1" == "sign" goto chk_cert\r
163 \r
164 goto cert_OK\r
165 \r
166 :chk_cert\r
167     if "%CERTFILE%" == "noCert" set /P CERTFILE=[Enter Cross Certificate FileName] \r
168     if "%CERTFILE%" == "" (\r
169         echo %0\r
170         echo %0: Err - MS cross certificate %CERTFILE% required.\r
171         echo %0: see certmgr.exe\r
172         exit /B 1\r
173     )\r
174 )\r
175 \r
176 :cert_OK\r
177 \r
178 set WIN7=yes\r
179 \r
180 rem Use this WDK\r
181 \r
182 if "%WIN7%" == "yes" (\r
183         rem Windows 7 WDK\r
184         set _DDK_VER=7600.16385.0\r
185         set _COIN_VER=01009\r
186 ) else (\r
187         rem Server 2008 WDK & WdfCoInstaller version\r
188         set _DDK_VER=6001.18001\r
189         set _COIN_VER=01007\r
190 )\r
191 \r
192 rem Full DDK root path\r
193 set _DDK=%SystemDrive%\WinDDK\%_DDK_VER%\r
194 \r
195 if NOT EXIST %_DDK% (\r
196     echo Missing WDK @ %_DDK%\r
197     exit /B 1\r
198 )\r
199 \r
200 rem Platform SDK path - watchout for missing LoadPerf.h (installsp.c)\r
201 \r
202 if DEFINED PLATFORM_SDK_PATH (\r
203     set _PSDK=%PLATFORM_SDK_PATH%\r
204 ) else (\r
205     set _PSDK=C:\PROGRA~1\MICROS~3\Windows\v6.1\r
206 )\r
207 if NOT EXIST %_PSDK% (\r
208     echo Missing PLATFORM SDK @ %_PSDK%\r
209     exit /B 1\r
210 )\r
211 \r
212 if not DEFINED ND_SDK_PATH (\r
213     set ND_SDK_PATH=C:\PROGRA~1\MICROS~4\NetworkDirect\r
214 )\r
215 if NOT EXIST %ND_SDK_PATH% (\r
216     echo Missing Network Direct SDK @ %ND_SDK_PATH%\r
217     exit /B 1\r
218 )\r
219 \r
220 rem set this to be the current svn commit number; overrides svn in path\r
221 rem processing. Additionally if set to 'latest' code expects ..\..\..\latest.txt\r
222 rem to contain the SVN number to use.\r
223 rem set USE_SVN=1748\r
224 set USE_SVN=latest\r
225 \r
226 rem %2 can be either a file spec or IPENIB_REV value.\r
227 rem Based on %1 command, FPATH will/will-not be set to a file spec.\r
228 \r
229 if Not "%FPATH%" == "" goto svn\r
230 \r
231 rem setup value for OPENIB_REV assignment\r
232 if not "%2" == "" (\r
233         rem set SVN commit number.\r
234         set SVN=%2\r
235         set LBL=%2\r
236         goto svn_set\r
237 )\r
238 \r
239 :svn\r
240 \r
241 rem Determine SVN value from current path.\r
242 rem WARNING - SVN value depends on the path '\openIB-windows-svn\XXX\gen1',\r
243 rem where SVN is set to XXX\r
244 rem  substring[23rd...26th] chars (offset counting) == xxxx\r
245 rem Note - OPENIB_REV is assigned SVN in a child script.\r
246 \r
247 if "%USE_SVN%" == "" (\r
248     set SVN=%CD:~22,4%\r
249 ) else (\r
250         if "%USE_SVN%" == "latest" (\r
251 rem                     set /P SVN=<F:\openIB-windows-svn\latest.txt\r
252                 set /P SVN=< ..\..\..\latest.txt\r
253         ) else (\r
254                 set SVN=%USE_SVN%\r
255         )\r
256 )\r
257 set LBL=_svn.!SVN!\r
258 \r
259 :svn_set\r
260 \r
261 if NOT EXIST "%WIX%\build-all-MSI.bat" (\r
262     echo %0 - Missing .msi installer build script\r
263     echo    %WIX%\build-all-MSI.bat\r
264     exit /B 1\r
265 )\r
266 \r
267 if "%1" == "msi-label" (\r
268     pushd %IDIR%\r
269     if exist WOF_wxp_x86.msi (\r
270         if exist WOF_wxp_x86%LBL%.msi del /F/Q WOF_wxp_x86%LBL%.msi\r
271         rename WOF_wxp_x86.msi WOF_wxp_x86%LBL%.msi\r
272     )\r
273 \r
274     if exist WOF_wnet_x86.msi (\r
275         if exist WOF_wnet_x86%LBL%.msi del /F/Q WOF_wnet_x86%LBL%.msi\r
276         rename WOF_wnet_x86.msi WOF_wnet_x86%LBL%.msi\r
277     )\r
278     if exist WOF_wnet_x64.msi (\r
279         if exist WOF_wnet_x64%LBL%.msi del /F/Q WOF_wnet_x64%LBL%.msi\r
280         rename WOF_wnet_x64.msi WOF_wnet_x64%LBL%.msi\r
281     )\r
282     if exist WOF_wnet_ia64.msi (\r
283        if exist WOF_wnet_ia64%LBL%.msi del /F/Q WOF_wnet_ia64%LBL%.msi\r
284        rename WOF_wnet_ia64.msi WOF_wnet_ia64%LBL%.msi\r
285     )\r
286 \r
287     if exist WOF_wlh_x86.msi (\r
288         if exist WOF_wlh_x86%LBL%.msi del /F/Q WOF_wlh_x86%LBL%.msi\r
289         rename WOF_wlh_x86.msi WOF_wlh_x86%LBL%.msi\r
290     )\r
291     if exist WOF_wlh_x64.msi  (\r
292         if exist WOF_wlh_x64%LBL%.msi del /F/Q WOF_wlh_x64%LBL%.msi\r
293         rename WOF_wlh_x64.msi WOF_wlh_x64%LBL%.msi\r
294     )\r
295     if exist WOF_wlh_ia64.msi  (\r
296         if exist WOF_wlh_ia64%LBL%.msi del /F/Q WOF_wlh_ia64%LBL%.msi\r
297         rename WOF_wlh_ia64.msi WOF_wlh_ia64%LBL%.msi\r
298     )\r
299     dir WOF_*%LBL%.msi\r
300     popd\r
301     exit /B 0\r
302 )\r
303 \r
304 if "%1" == "msi-del" (\r
305     echo Deleting WOF_{wxp,wnet,wlh}_{x86,x64,ia64}%LBL%.msi\r
306     pushd %IDIR%\r
307     if exist WOF_wxp_x86%LBL%.msi del /F/P WOF_wxp_x86%LBL%.msi\r
308 \r
309     if exist WOF_wnet_x86%LBL%.msi del /F/P WOF_wnet_x86%LBL%.msi\r
310     if exist WOF_wnet_x64%LBL%.msi del /F/P WOF_wnet_x64%LBL%.msi\r
311     if exist WOF_wnet_ia64%LBL%.msi del /F/P WOF_wnet_ia64%LBL%.msi\r
312 \r
313     if exist WOF_wlh_x86%LBL%.msi del /F/P WOF_wlh_x86%LBL%.msi\r
314     if exist WOF_wlh_x64%LBL%.msi del /F/P WOF_wlh_x64%LBL%.msi\r
315     if exist WOF_wlh_ia64%LBL%.msi del /F/P WOF_wlh_ia64%LBL%.msi\r
316 \r
317     dir /N/OD WOF_*.msi\r
318     popd\r
319     exit /B 0\r
320 )\r
321 \r
322 if "%1" == "msi-dir" (\r
323     pushd %IDIR%\r
324     dir /N/OD WOF_*.msi\r
325     popd\r
326     exit /B 0\r
327 )\r
328 \r
329 echo %0 - Building with WDK @ %_DDK%\r
330 echo Building for OPENIB_REV %SVN%, installer files (.msi) @ %IDIR%\r
331 echo   Drivers signed using Certificate '%CERTFILE%'\r
332 \r
333 rem pause thoughtfully.\r
334 if exist %windir%\system32\timeout.exe (\r
335     timeout /T 10\r
336 ) else (\r
337     pause\r
338 )\r
339 \r
340 if NOT EXIST "%IDIR%" (\r
341     echo %0 - Missing Installer file destination folder\r
342         echo %0     %IDIR%\r
343     exit /B 1\r
344 )\r
345 \r
346 rem Verify WIX toolset is available - if not, download from\r
347 rem http://sourceforge.net/project/showfiles.php?group_id=105970&package_id=114109\r
348 rem   <...>\OFED\WIX\WIX_tools\\r
349 rem\r
350 if NOT EXIST %WIX%\WIX_tools\%WIX_BIN% (\r
351     echo %0 - Missing WIX tools @ %WIX%\WIX_tools\%WIX_BIN% \r
352     exit /B 1\r
353 )\r
354 \r
355 if NOT EXIST etc\makebin.bat (\r
356     echo %0 - Missing etc\makebin.bat, script must run from gen1\trunk\r
357     exit /B 1\r
358 )\r
359 set STIME=%TIME%\r
360 \r
361 rem skip build - assumes binaries already built and installed.\r
362 \r
363 if "%1" == "wix" (\r
364     set MSI_CMD=msi\r
365     goto mk_msi\r
366 )\r
367 \r
368 if "%1" == "makebin" goto InstallBin\r
369 \r
370 rem poor man's OR\r
371 if "%1" == "sign" (\r
372     set MSI_CMD=%1\r
373     goto do_msi_chk\r
374 ) else (\r
375     set MSI_CMD=all\r
376 )\r
377 if "%1" == "msi" goto do_msi_chk\r
378 goto compile\r
379 \r
380 :do_msi_chk\r
381 \r
382 rem make sure building a msi has files to work with.\r
383 if not EXIST "%RBIN_W7%"  goto InstallBin\r
384 if not EXIST "%RBIN_WLH%"  goto InstallBin\r
385 if not EXIST "%RBIN_WNET%" goto InstallBin\r
386 if not EXIST "%RBIN_WXP%"  goto InstallBin\r
387 goto mk_msi\r
388 \r
389 :compile\r
390 \r
391 set OPS=-wgcPM 3\r
392 if "%1" == "allnoforce" (\r
393     rem Compile everything only if needed.\r
394     set OPS=-wgPM 3\r
395 )\r
396 if "%1" == "compilenoforce" (\r
397     rem Compile everything only if needed.\r
398     set OPS=-wgPM 3\r
399 )\r
400 if "%1" == "allf" (\r
401     rem Force Compile everything\r
402     set OPS=-wgcfPM 3\r
403 )\r
404 if "%1" == "allnf" (\r
405     rem Compile only if necessary\r
406     set OPS=-wgPM 3\r
407 )\r
408 if "%1" == "compf" (\r
409     rem Force Compile everything\r
410     set OPS=-wgcfPM 3\r
411 )\r
412 if "%1" == "compnf" (\r
413     rem Compile only if necessary\r
414     set OPS=-wgPM 3\r
415 )\r
416 \r
417 if "%1" == "all" (\r
418     echo Removing build artifacts and folders...\r
419     call %CD%\etc\clean-build.bat\r
420     if exist %WIX%\wlh\bin (\r
421                 echo Removing %WIX%\wlh\bin\r
422                 rmdir /Q /S %WIX%\wlh\bin\r
423     )\r
424     if exist %WIX%\wnet\bin (\r
425                 echo Removing %WIX%\wnet\bin\r
426                 rmdir /Q /S %WIX%\wnet\bin\r
427     )\r
428     if exist %WIX%\wxp\bin (\r
429                 echo Removing %WIX%\wxp\bin\r
430                 rmdir /Q /S %WIX%\wxp\bin\r
431     )\r
432 )\r
433 \r
434 rem ************ Setup Env for Building \r
435 \r
436 set WDK_PATH=%_DDK%\r
437 set WINOF_PATH=%CD%\r
438 set OPENIB_REV=%SVN%\r
439 if not DEFINED PLATFORM_SDK_PATH  set PLATFORM_SDK_PATH=%_PSDK%\r
440 \r
441 rem Compile in a specific folder? compf | compnf | allf | allnf\r
442 if EXIST "%FPATH%" pushd %FPATH%\r
443 \r
444 rem ********* Compile for win7 - Windows 7\r
445 \r
446 rem win7 x64\r
447 echo %0 - Build win7 x64 Checked\r
448 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk x64 win7 %OPS%"\r
449 if ERRORLEVEL 1 exit /B 1\r
450 echo %0 - Build win7 x64 Free\r
451 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre x64 win7 %OPS%"\r
452 if ERRORLEVEL 1 exit /B 1\r
453 \r
454 rem win7 x86\r
455 echo %0 - Build win7 x86 Checked\r
456 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk x86 win7 %OPS%"\r
457 if ERRORLEVEL 1 exit /B 1\r
458 echo %0 - Build win7 x86 Free\r
459 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre x86 win7 %OPS%"\r
460 if ERRORLEVEL 1 exit /B 1\r
461 \r
462 rem win7 ia64\r
463 echo %0 - Build win7 ia64 Checked\r
464 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk ia64 win7 %OPS%"\r
465 if ERRORLEVEL 1 exit /B 1\r
466 echo %0 - Build win7 ia64 Free\r
467 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre ia64 win7 %OPS%"\r
468 if ERRORLEVEL 1 exit /B 1\r
469 \r
470 rem ********* Compile for WLH - Windows Server 2008 & Vista\r
471 \r
472 rem WLH x64\r
473 echo %0 - Build WLH x64 Checked\r
474 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk x64 2008 %OPS%"\r
475 if ERRORLEVEL 1 exit /B 1\r
476 echo %0 - Build WLH x64 Free\r
477 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre x64 2008 %OPS%"\r
478 if ERRORLEVEL 1 exit /B 1\r
479 \r
480 rem WLH x86\r
481 echo %0 - Build WLH x86 Checked\r
482 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk x86 2008 %OPS%"\r
483 if ERRORLEVEL 1 exit /B 1\r
484 echo %0 - Build WLH x86 Free\r
485 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre x86 2008 %OPS%"\r
486 if ERRORLEVEL 1 exit /B 1\r
487 \r
488 rem WLH ia64\r
489 echo %0 - Build WLH ia64 Checked\r
490 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk ia64 2008 %OPS%"\r
491 if ERRORLEVEL 1 exit /B 1\r
492 echo %0 - Build WLH ia64 Free\r
493 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre ia64 2008 %OPS%"\r
494 if ERRORLEVEL 1 exit /B 1\r
495 \r
496 rem ********* WXP - Windows XP - x86 only\r
497 \r
498 echo %0 - Build XP x86 Checked\r
499 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk x86 xp %OPS%"\r
500 if ERRORLEVEL 1 exit /B 1\r
501 echo %0 - Build XP x86 Free\r
502 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre x86 xp %OPS%"\r
503 if ERRORLEVEL 1 exit /B 1\r
504 \r
505 rem ********* WNET - Windows Server 2003\r
506 \r
507 echo %0 - Build WNET x64 Checked\r
508 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk x64 2003 %OPS%"\r
509 if ERRORLEVEL 1 exit /B 1\r
510 echo %0 - Build WNET x64 Free\r
511 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre x64 2003 %OPS%"\r
512 if ERRORLEVEL 1 exit /B 1\r
513 \r
514 echo %0 - Build WNET x86 Checked\r
515 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk x86 2003 %OPS%"\r
516 if ERRORLEVEL 1 exit /B 1\r
517 echo %0 - Build WNET x86 Free\r
518 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre x86 2003 %OPS%"\r
519 if ERRORLEVEL 1 exit /B 1\r
520 \r
521 echo %0 - Build WNET ia64 Checked\r
522 %COMSPEC% /C "%BSE%\etc\bldwo.bat chk ia64 2003 %OPS%"\r
523 if ERRORLEVEL 1 exit /B 1\r
524 echo %0 - Build WNET ia64 Free\r
525 %COMSPEC% /C "%BSE%\etc\bldwo.bat fre ia64 2003 %OPS%"\r
526 if ERRORLEVEL 1 exit /B 1\r
527 \r
528 rem compnf | compf | allf | allnf\r
529 if EXIST "%FPATH%" popd\r
530 \r
531 if "%1" == "compf" goto finito\r
532 if "%1" == "compnf" goto finito\r
533 if "%1" == "compile" goto finito\r
534 if "%1" == "compilenoforce" goto finito\r
535 \r
536 rem Install binaries into WIX environment, build msi installers.\r
537 \r
538 :InstallBin\r
539 \r
540 echo Create binary release tree - suitible for OFED-WIX installer build.\r
541 \r
542 if EXIST "%RBIN_W7%"   (rmdir /S /Q %RBIN_W7% &  echo %0 - removed %RBIN_W7%)\r
543 if EXIST "%RBIN_WLH%"  (rmdir /S /Q %RBIN_WLH% &  echo %0 - removed %RBIN_WLH%)\r
544 if EXIST "%RBIN_WNET%" (rmdir /S /Q %RBIN_WNET% & echo %0 - removed %RBIN_WNET%)\r
545 if EXIST "%RBIN_WXP%"  (rmdir /S /Q %RBIN_WXP% &  echo %0 - removed %RBIN_WXP%)\r
546 \r
547 mkdir %RBIN_W7%\r
548 mkdir %RBIN_WLH%\r
549 mkdir %RBIN_WNET%\r
550 mkdir %RBIN_WXP%\r
551 \r
552 if EXIST "%BSE%\etc\makebin.bat" (\r
553    call %BSE%\etc\makebin.bat %BSE% %RBIN_W7% win7 %_DDK% %_COIN_VER%\r
554    if ERRORLEVEL 1 (\r
555         echo %0: Err in makebin.bat %BSE% %RBIN_W7% wlh %_DDK% %_COIN_VER%\r
556         exit /B 1\r
557    )\r
558     call %BSE%\etc\makebin.bat %BSE% %RBIN_WLH% wlh %_DDK% %_COIN_VER%\r
559     if ERRORLEVEL 1 (\r
560         echo %0: Err in makebin.bat %BSE% %RBIN_WLH% wlh %_DDK% %_COIN_VER%\r
561         exit /B 1\r
562     )\r
563     call %BSE%\etc\makebin.bat %BSE% %RBIN_WNET% wnet %_DDK% %_COIN_VER%\r
564     if ERRORLEVEL 1 (\r
565         echo %0: Err in makebin.bat %BSE% %RBIN_WNET% wnet %_DDK% %_COIN_VER%\r
566         exit /B 1\r
567     )\r
568     call %BSE%\etc\makebin.bat %BSE% %RBIN_WXP% wxp %_DDK% %_COIN_VER%\r
569     if ERRORLEVEL 1 (\r
570         echo %0: Err in makebin.bat %BSE% %RBIN_WXP% wxp %_DDK% %_COIN_VER%\r
571         exit /B 1\r
572     )\r
573 )\r
574 \r
575 if "%1" == "makebin" goto finito\r
576 \r
577 :mk_msi\r
578 \r
579 echo %0 - Drivers Signed with %CERTFILE%\r
580 echo   Binary release trees in\r
581 echo     %RBIN_W7%\r
582 echo     %RBIN_WLH%\r
583 echo     %RBIN_WNET%\r
584 echo     %RBIN_WXP%\r
585 \r
586 rem build WIX installers --> see OFED\WIX\r
587 \r
588 %COMSPEC% /V:on /E:on /C "%_DDK%\bin\setenv.bat %_DDK% fre X64 WNET no_oacr & cd /D %WIX% & build-all-MSI %MSI_CMD% %CERTFILE% %SW_PUBLISHER% %IDIR%"\r
589 \r
590 :finito\r
591 \r
592 echo .\r
593 echo %0: Finished %0 %*\r
594 echo %0:   Started  %STIME%\r
595 echo %0:   Finished %TIME%\r
596 \r
597 endlocal\r