5 rem makebin src dst [win7 | wlh | wnet | wxp] DDK_ROOT WdfCoInstaler_Ver
\r
7 rem src(%1) - OpenIB src path ...\gen1\trunk
\r
8 rem dst(%2) - full path tp where binaries are copied, 'bin\' created here.
\r
9 rem OSE(%3) - (Operating System Environment) which windows version
\r
10 rem {win7,wxp,wlh,wnet} representing {XP, server 2008 & server 2003}
\r
11 rem DDK_ROOT - {blank == assumes %SystemDrive%\WinDDK\6001.1801}
\r
12 rem WdfCoInstall_ver - 5 digit WdfCoInstallerVersion # (blank == 01007}
\r
14 rem makebin is designed to take an openIB build tree path and produce a folder
\r
15 rem tree of binaries suitable for input to a WIX builder which procduces
\r
16 rem an OS .msi installer.
\r
17 rem Building a WinOF release is done is 3 phases, makebin is the 2nd phase.
\r
18 rem makebin is commonly run from trunk\buildrelease.bat although it can be
\r
21 echo Starting makebin
\r
26 if "%1"=="" goto usage
\r
27 if "%2"=="" goto usage
\r
29 if "%3"=="" goto usage
\r
30 if /I "%3"=="win7" goto os_ok
\r
31 if /I "%3"=="wlh" goto os_ok
\r
32 if /I "%3"=="wnet" goto os_ok
\r
33 if /I "%3"=="wxp" goto os_ok
\r
34 echo %0: Err - Invalid OS type '%3' ?
\r
39 rem Enable tracing to indicate phase for potiential debug.
\r
44 rem setup DDK root path
\r
46 set _DDK=%systemdrive%\WinDDK\6001.18001
\r
50 if not exist "%_DDK%" (
\r
51 echo Missing file %_DDK% ?
\r
55 set WdfCoInstaller=%_DDK%\redist\wdf
\r
56 set DIFXP=%_DDK%\redist\DIFx\DIFxAPP\English\WixLib
\r
57 set DPINST=%_DDK%\redist\DIFx\DPInst\EngMui
\r
60 set CoInstallVer=01007
\r
65 if not exist %1 goto usage
\r
66 if not exist %2 goto usage
\r
68 if /I "%OSE%" == "wxp" (
\r
69 if not exist %1\bin\kernel\objfre_%OSE%_x86\i386 goto error3
\r
70 if not exist %1\bin\user\objfre_%OSE%_x86\i386 goto error6
\r
71 if not exist %1\bin\user\objchk_%OSE%_x86\i386 goto error9
\r
73 if not exist %1\bin\kernel\objfre_%OSE%_amd64\amd64 goto error1
\r
74 if not exist %1\bin\kernel\objfre_%OSE%_ia64\ia64 goto error2
\r
75 if not exist %1\bin\kernel\objfre_%OSE%_x86\i386 goto error3
\r
76 if not exist %1\bin\user\objfre_%OSE%_amd64\amd64 goto error4
\r
77 if not exist %1\bin\user\objfre_%OSE%_ia64\ia64 goto error5
\r
78 if not exist %1\bin\user\objfre_%OSE%_x86\i386 goto error6
\r
79 if not exist %1\bin\user\objchk_%OSE%_amd64\amd64 goto error7
\r
80 if not exist %1\bin\user\objchk_%OSE%_ia64\ia64 goto error8
\r
81 if not exist %1\bin\user\objchk_%OSE%_x86\i386 goto error9
\r
84 set CORE_DRV_FRE=ibbus.sys ibbus.pdb ibiou.sys ibiou.pdb ib_iou.inf mthca.sys mthca.inf mthca.pdb mlx4_hca.sys mlx4_hca.pdb mlx4_hca.inf mlx4_bus.sys mlx4_bus.pdb mlx4_bus.inf winverbs.sys winverbs.pdb winmad.sys winmad.pdb
\r
86 set CORE_UM_F=ibal.dll ibal.lib ibal.pdb complib.dll complib.lib complib.pdb mthcau.dll mthcau.pdb mlx4u.dll mlx4u.pdb
\r
88 set CORE_UM_D=ibald.dll ibald.lib ibald.pdb complibd.dll complibd.lib complibd.pdb mthcaud.dll mthcaud.pdb mlx4ud.dll mlx4ud.pdb
\r
90 set WV_CHK=winverbsd.dll winverbsd.lib winmadd.dll winmadd.lib libibverbsd.dll libibverbsd.lib libibverbsd.pdb libibumadd.lib libibumadd.dll libibumadd.pdb libibmadd.lib libibmadd.dll libibmadd.pdb librdmacmd.lib librdmacmd.dll librdmacmd.pdb libibnetdiscd.dll libibnetdiscd.pdb
\r
92 set WV_FRE=winverbs.dll winverbs.lib winmad.dll winmad.lib libibverbs.dll libibverbs.lib libibverbs.pdb libibumad.lib libibumad.dll libibumad.pdb libibmad.lib libibmad.dll libibmad.pdb librdmacm.dll librdmacm.lib librdmacm.pdb libibnetdisc.dll libibnetdisc.pdb
\r
94 set DAPL2_F=dapl2.dll dapl2.pdb dapl2-ofa-scm.dll dapl2-ofa-scm.pdb dapl2-ofa-cma.dll dapl2-ofa-cma.pdb dat2.dll dat2.lib dat2.pdb
\r
96 set DAPL2_D=dapl2d.dll dapl2d.pdb dapl2-ofa-scmd.dll dapl2-ofa-scmd.pdb dapl2-ofa-cmad.dll dapl2-ofa-cmad.pdb dat2d.dll dat2d.lib dat2d.pdb
\r
98 set DAPL_F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb
\r
100 set DAPL_D=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb
\r
107 if /I "%OSE%" == "wxp" goto wxp_drv
\r
109 rem Copy AMD64 Free drivers
\r
110 set bin_dir=%1\bin\kernel\objfre_%OSE%_amd64\amd64
\r
111 set dest_dir=%2\HCA\amd64\
\r
113 if "%DBG%" == "TRUE" echo DBG: AMD64 free drivers
\r
115 for %%i in ( %CORE_DRV_FRE% ) do (
\r
116 xcopy %bin_dir%\%%i %dest_dir% /yq 1> nul
\r
118 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
123 xcopy %WdfCoInstaller%\amd64\WdfCoInstaller%CoInstallVer%.dll %dest_dir% /yq
\r
125 xcopy %bin_dir%\ipoib.sys %2\net\amd64\ /yq
\r
126 xcopy %bin_dir%\qlgcvnic.sys %2\net\amd64\ /yq
\r
127 xcopy %bin_dir%\ibsrp.sys %2\storage\amd64\ /yq
\r
129 xcopy %bin_dir%\ipoib.pdb %2\net\amd64\ /yq
\r
130 xcopy %bin_dir%\qlgcvnic.pdb %2\net\amd64\ /yq
\r
131 xcopy %bin_dir%\ibsrp.pdb %2\storage\amd64\ /yq
\r
133 xcopy %bin_dir%\netipoib.inf %2\net\amd64\ /yq
\r
134 xcopy %bin_dir%\netvnic.inf %2\net\amd64\ /yq
\r
135 xcopy %bin_dir%\ib_srp.inf %2\storage\amd64\ /yq
\r
137 rem Copy IA64 drivers
\r
138 set bin_dir=%1\bin\kernel\objfre_%OSE%_ia64\ia64
\r
139 set dest_dir=%2\HCA\ia64\
\r
141 if "%DBG%" == "TRUE" echo DBG: ia64 free drivers
\r
143 for %%i in ( %CORE_DRV_FRE% ) do (
\r
144 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
146 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
150 xcopy %WdfCoInstaller%\ia64\WdfCoInstaller%CoInstallVer%.dll %dest_dir% /yq
\r
152 xcopy %bin_dir%\ipoib.sys %2\net\ia64\ /yq
\r
153 xcopy %bin_dir%\qlgcvnic.sys %2\net\ia64\ /yq
\r
154 xcopy %bin_dir%\ibsrp.sys %2\storage\ia64\ /yq
\r
156 xcopy %bin_dir%\ipoib.pdb %2\net\ia64\ /yq
\r
157 xcopy %bin_dir%\qlgcvnic.pdb %2\net\ia64\ /yq
\r
158 xcopy %bin_dir%\ibsrp.pdb %2\storage\ia64\ /yq
\r
160 xcopy %bin_dir%\netipoib.inf %2\net\ia64\ /yq
\r
161 xcopy %bin_dir%\netvnic.inf %2\net\ia64\ /yq
\r
162 xcopy %bin_dir%\ib_srp.inf %2\storage\ia64\ /yq
\r
164 rem Copy x86 drivers
\r
168 if "%DBG%" == "TRUE" echo DBG: x86 free drivers
\r
170 set bin_dir=%1\bin\kernel\objfre_%OSE%_x86\i386
\r
171 set dest_dir=%2\HCA\x86\
\r
173 for %%i in ( %CORE_DRV_FRE% ) do (
\r
174 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
176 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
180 xcopy %WdfCoInstaller%\x86\WdfCoInstaller%CoInstallVer%.dll %dest_dir% /yq
\r
182 xcopy %bin_dir%\ipoib.sys %2\net\x86\ /yq
\r
183 xcopy %bin_dir%\qlgcvnic.sys %2\net\x86\ /yq
\r
184 xcopy %bin_dir%\ibsrp.sys %2\storage\x86\ /yq
\r
186 xcopy %bin_dir%\ipoib.pdb %2\net\x86\ /yq
\r
187 xcopy %bin_dir%\qlgcvnic.pdb %2\net\x86\ /yq
\r
188 xcopy %bin_dir%\ibsrp.pdb %2\storage\x86\ /yq
\r
190 rem Use netipoib.inf without WSD support for XP32
\r
191 if /I "%OSE%" == "wxp" (
\r
192 copy /A /Y %1\ulp\ipoib\kernel\netipoib-xp32.inf %2\net\x86\netipoib.inf
\r
194 xcopy %bin_dir%\netipoib.inf %2\net\x86\ /yq
\r
197 rem allow XP SRP build & sign, WIX skips SRP for XP
\r
198 rem otherwise there is too much special casing for SRP on XP.
\r
199 xcopy %bin_dir%\ib_srp.inf %2\storage\x86\ /yq
\r
200 xcopy %bin_dir%\netvnic.inf %2\net\x86\ /yq
\r
201 xcopy %bin_dir%\ib_srp.inf %2\storage\x86\ /yq
\r
203 rem Checked USER MODE
\r
205 if /I "%OSE%" == "wxp" goto wxp_userm
\r
207 if "%DBG%" == "TRUE" echo DBG: amd64 Checked amd64 user-mode
\r
209 set bin_dir=%1\bin\user\objchk_%OSE%_amd64\amd64
\r
210 set dest_dir=%2\HCA\amd64\
\r
212 for %%i in (%CORE_UM_D%) do (
\r
213 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
215 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
220 echo xcopy winverbs: User checked to HCA\amd64
\r
222 for %%i in ( %WV_CHK% ) do (
\r
223 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
225 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
230 echo xcopy *.exe tools\amd64\debug\
\r
231 xcopy %bin_dir%\*.exe %2\tools\amd64\debug\ /yq 1>nul
\r
233 for %%i in ( %DAPL_D% ) do (
\r
234 xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq 1>nul
\r
236 echo ERR on xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq
\r
241 for %%i in ( %DAPL2_D% ) do (
\r
242 xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq 1>nul
\r
244 echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq
\r
250 rem Copy checked IA64 dlls
\r
252 if "%DBG%" == "TRUE" echo DBG: ia64 Checked dlls
\r
254 set bin_dir=%1\bin\user\objchk_%OSE%_ia64\ia64
\r
255 set dest_dir=%2\HCA\ia64\
\r
257 for %%i in (%CORE_UM_D%) do (
\r
258 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
260 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
265 echo xcopy winverbs: User checked to HCA\ia64
\r
267 for %%i in ( %WV_CHK% ) do (
\r
268 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
270 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
275 echo xcopy *.exe tools\ia64\debug\
\r
276 xcopy %bin_dir%\*.exe %2\tools\ia64\debug\ /yq 1>nul
\r
278 for %%i in ( %DAPL_D% ) do (
\r
279 xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq 1>nul
\r
281 echo ERR on xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq
\r
286 for %%i in ( %DAPL2_D% ) do (
\r
287 xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq 1>nul
\r
289 echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq
\r
295 rem checked x86 user mode
\r
299 if "%DBG%" == "TRUE" echo DBG: x86 Checked user-mode dlls
\r
301 set bin_dir=%1\bin\user\objchk_%OSE%_x86\i386
\r
302 set dest_dir=%2\HCA\x86\
\r
304 for %%i in (%CORE_UM_D%) do (
\r
305 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
307 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
312 echo xcopy winverbs: User checked to HCA\x86
\r
314 for %%i in ( %WV_CHK% ) do (
\r
315 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
317 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
322 if "%DBG%" == "TRUE" echo DBG: checked *.exe to tools\x86\debug\
\r
323 xcopy %bin_dir%\*.exe %2\tools\x86\debug\ /yq 1>nul
\r
325 for %%i in ( %DAPL_D% ) do (
\r
326 xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq 1>nul
\r
328 echo ERR on xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq
\r
333 for %%i in ( %DAPL2_D% ) do (
\r
334 xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq 1>nul
\r
336 echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq
\r
340 copy /B %bin_dir%\installsp.exe %2\tools\x86\debug\ /y 1>nul
\r
342 if /I "%OSE%" == "wxp" goto wxp_free_drv
\r
344 rem checked x86 DLLs --> WOW64 DLLs
\r
346 if "%DBG%" == "TRUE" echo DBG: x86 Checked dlls copy to WOW64 dlls
\r
348 rem xcopy had problems determining if dest was File | Dir ??
\r
350 copy /B %bin_dir%\ibald.dll %2\HCA\amd64\ibal32d.dll /y
\r
351 copy /B %bin_dir%\ibald.lib %2\HCA\amd64\ibal32d.lib /y
\r
352 copy /B %bin_dir%\ibald.pdb %2\HCA\amd64\ibal32d.pdb /y
\r
353 copy /B %bin_dir%\complibd.dll %2\HCA\amd64\cl32d.dll /y
\r
354 copy /B %bin_dir%\complibd.lib %2\HCA\amd64\cl32d.lib /y
\r
355 copy /B %bin_dir%\complibd.pdb %2\HCA\amd64\cl32d.pdb /y
\r
357 copy /B %bin_dir%\ibald.dll %2\HCA\ia64\ibal32d.dll /y
\r
358 copy /B %bin_dir%\ibald.lib %2\HCA\ia64\ibal32d.lib /y
\r
359 copy /B %bin_dir%\ibald.pdb %2\HCA\ia64\ibal32d.pdb /y
\r
360 copy /B %bin_dir%\complibd.dll %2\HCA\ia64\cl32d.dll /y
\r
361 copy /B %bin_dir%\complibd.lib %2\HCA\ia64\cl32d.lib /y
\r
362 copy /B %bin_dir%\complibd.pdb %2\HCA\ia64\cl32d.pdb /y
\r
364 copy /B %bin_dir%\mthcaud.dll %2\HCA\amd64\mthca32d.dll /y
\r
365 copy /B %bin_dir%\mthcaud.dll %2\HCA\ia64\mthca32d.dll /y
\r
367 copy /B %bin_dir%\mlx4ud.dll %2\HCA\amd64\mlx4u32d.dll /y
\r
368 copy /B %bin_dir%\mlx4ud.dll %2\HCA\ia64\mlx4u32d.dll /y
\r
370 copy /B %bin_dir%\dapld.dll %2\DAPL\amd64\dapl32d.dll /y
\r
371 copy /B %bin_dir%\datd.dll %2\DAPL\amd64\dat32d.dll /y
\r
372 copy /B %bin_dir%\dapld.dll %2\DAPL\ia64\dapl32d.dll /y
\r
373 copy /B %bin_dir%\datd.dll %2\DAPL\ia64\dat32d.dll /y
\r
375 copy /B %bin_dir%\dapl2d.dll %2\DAPL2\amd64\dapl232d.dll /y
\r
376 copy /B %bin_dir%\dat2d.dll %2\DAPL2\amd64\dat232d.dll /y
\r
377 copy /B %bin_dir%\dapl2d.dll %2\DAPL2\ia64\dapl232d.dll /y
\r
378 copy /B %bin_dir%\dat2d.dll %2\DAPL2\ia64\dat232d.dll /y
\r
380 rem Copy Free x64 dll
\r
382 set bin_dir=%1\bin\user\objfre_%OSE%_amd64\amd64
\r
383 set dest_dir=%2\HCA\amd64\
\r
385 if "%DBG%" == "TRUE" echo DBG: copy amd64 Free dlls
\r
387 for %%i in (%CORE_UM_F%) do (
\r
388 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
390 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /y
\r
395 echo xcopy winverbs: User free to HCA\amd64
\r
397 for %%i in ( %WV_FRE% ) do (
\r
398 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
400 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
405 xcopy %bin_dir%\ibwsd.dll %2\net\amd64\ /yq
\r
406 xcopy %bin_dir%\installsp.exe %2\net\amd64\ /yq
\r
407 xcopy %bin_dir%\installsp.exe %2\tools\amd64\release\ /yq
\r
409 if exist "%bin_dir%\ndinstall.exe" (
\r
410 xcopy %bin_dir%\ndinstall.exe %2\net\amd64\ /yq
\r
411 xcopy %bin_dir%\ndinstall.exe %2\tools\amd64\release\ /yq
\r
412 xcopy %bin_dir%\ibndprov.dll %2\net\amd64\ /yq
\r
414 echo %0 - missing x64 Network Direct components [ibndprov.dll,ndinstall.exe]
\r
417 echo xcopy amd64 Free *.exe tools\amd64\release\
\r
418 xcopy %bin_dir%\*.exe %2\tools\amd64\release\ /yq 1>nul
\r
420 echo xcopy AMD64 [Winverb-apps].pdb tools\amd64\release\
\r
421 xcopy %bin_dir%\*.pdb %2\tools\amd64\release\ /yq 1>nul
\r
423 echo ERR on xcopy %bin_dir%\*.pdb %2\tools\amd64\release\ /yq
\r
427 for %%i in ( %DAPL_F% ) do (
\r
428 xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq 1>nul
\r
430 echo ERR on xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq
\r
435 for %%i in ( %DAPL2_F% ) do (
\r
436 xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq 1>nul
\r
438 echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq
\r
444 rem Copy Free IA64 dlls
\r
446 set bin_dir=%1\bin\user\objfre_%OSE%_ia64\ia64
\r
447 set dest_dir=%2\HCA\ia64\
\r
449 if "%DBG%" == "TRUE" echo DBG: copy IA64 Free dlls
\r
451 for %%i in (%CORE_UM_F%) do (
\r
452 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
454 echo ERR on xcopy %%i %dest_dir% /yq
\r
459 echo xcopy winverbs: User free to HCA\ia64
\r
461 for %%i in ( %WV_FRE% ) do (
\r
462 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
464 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
469 xcopy %bin_dir%\ibwsd.dll %2\net\ia64\ /yq
\r
470 xcopy %bin_dir%\installsp.exe %2\net\ia64\ /yq
\r
471 rem xcopy %bin_dir%\ndinstall.exe %2\net\ia64\ /yq
\r
472 rem xcopy %bin_dir%\ibndprov.dll %2\net\ia64\ /yq
\r
474 echo xcopy IA64 Free *.exe tools\ia64\release\
\r
475 xcopy %bin_dir%\*.exe %2\tools\ia64\release\ /yq 1>nul
\r
477 echo xcopy IA64 [Winverb-apps].pdb tools\ia64\release\
\r
478 xcopy %bin_dir%\*.pdb %2\tools\ia64\release\ /yq 1>nul
\r
480 echo ERR on xcopy %bin_dir%\*.pdb %2\tools\ia64\release\ /yq
\r
484 for %%i in ( %DAPL_F% ) do (
\r
485 xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq 1>nul
\r
487 echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq
\r
492 for %%i in ( %DAPL2_F% ) do (
\r
493 xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq 1>nul
\r
495 echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq
\r
501 rem Copy Free x86 drivers
\r
505 set bin_dir=%1\bin\user\objfre_%OSE%_x86\i386
\r
506 set dest_dir=%2\HCA\x86\
\r
508 if "%DBG%" == "TRUE" echo DBG: copy x86 Free dlls
\r
510 for %%i in (%CORE_UM_F%) do (
\r
511 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
513 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
518 echo xcopy winverbs: User free to HCA\x86
\r
520 for %%i in ( %WV_FRE% ) do (
\r
521 xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul
\r
523 echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq
\r
528 echo xcopy x86 free *.exe to tools\x86\release
\r
529 xcopy %bin_dir%\*.exe %2\tools\x86\release\ /yq 1>nul
\r
531 echo xcopy X86 Free [Winverb-apps].pdb tools\x86\release\
\r
532 xcopy %bin_dir%\*.pdb %2\tools\x86\release\ /yq 1>nul
\r
534 echo ERR on xcopy %bin_dir%\*.pdb %2\tools\x86\release\ /yq
\r
538 for %%i in ( %DAPL_F% ) do (
\r
539 xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq 1>nul
\r
541 echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq
\r
546 for %%i in ( %DAPL2_F% ) do (
\r
547 xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq 1>nul
\r
549 echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq
\r
554 if exist "%bin_dir%\ndinstall.exe" (
\r
555 copy %bin_dir%\ndinstall.exe %2\net\x86\ /y
\r
556 copy %bin_dir%\ndinstall.exe %2\tools\x86\release\ /y
\r
557 copy %bin_dir%\ibndprov.dll %2\net\x86\ /y
\r
559 echo %0 - missing x86 Network Direct components [ibndprov.dll,ndinstall.exe]
\r
562 if /I "%OSE%" == "wxp" goto mk_sym_bin
\r
565 if "%DBG%" == "TRUE" echo DBG: copy x86 Free WSD
\r
567 copy %bin_dir%\ibwsd.dll %2\net\x86\ /y
\r
568 copy %bin_dir%\installsp.exe %2\net\x86\ /y
\r
569 copy %bin_dir%\installsp.exe %2\tools\x86\release\ /y
\r
571 rem free x86 DLLs --> WOW64 DLLs
\r
573 if "%DBG%" == "TRUE" echo DBG: x86 Free dlls to WOW64
\r
575 if exist "%bin_dir%\ibndprov.dll" (
\r
576 copy %bin_dir%\ibndprov.dll %2\net\amd64\ibndprov32.dll /y
\r
577 copy %bin_dir%\ibndprov.dll %2\net\ia64\ibndprov32.dll /y
\r
579 copy /B %bin_dir%\ibwsd.dll %2\net\amd64\ibwsd32.dll /y
\r
580 copy /B %bin_dir%\ibwsd.dll %2\net\ia64\ibwsd32.dll /y
\r
582 copy /B %bin_dir%\ibal.dll %2\HCA\amd64\ibal32.dll /y
\r
583 copy /B %bin_dir%\ibal.lib %2\HCA\amd64\ibal32.lib /y
\r
584 copy /B %bin_dir%\ibal.pdb %2\HCA\amd64\ibal32.pdb /y
\r
585 copy /B %bin_dir%\complib.dll %2\HCA\amd64\cl32.dll /y
\r
586 copy /B %bin_dir%\complib.lib %2\HCA\amd64\cl32.lib /y
\r
587 copy /B %bin_dir%\complib.pdb %2\HCA\amd64\cl32.pdb /y
\r
588 copy /B %bin_dir%\winverbs.dll %2\HCA\amd64\winverbs32.dll /y
\r
589 copy /B %bin_dir%\winverbs.lib %2\HCA\amd64\winverbs32.lib /y
\r
590 copy /B %bin_dir%\winverbs.pdb %2\HCA\amd64\winverbs32.pdb /y
\r
591 copy /B %bin_dir%\winmad.dll %2\HCA\amd64\winverbs32.dll /y
\r
592 copy /B %bin_dir%\winmad.lib %2\HCA\amd64\winverbs32.lib /y
\r
593 copy /B %bin_dir%\winmad.pdb %2\HCA\amd64\winverbs32.pdb /y
\r
595 copy /B %bin_dir%\ibal.dll %2\HCA\ia64\ibal32.dll /y
\r
596 copy /B %bin_dir%\ibal.lib %2\HCA\ia64\ibal32.lib /y
\r
597 copy /B %bin_dir%\ibal.pdb %2\HCA\ia64\ibal32.pdb /y
\r
598 copy /B %bin_dir%\complib.dll %2\HCA\ia64\cl32.dll /y
\r
599 copy /B %bin_dir%\complib.lib %2\HCA\ia64\cl32.lib /y
\r
600 copy /B %bin_dir%\complib.pdb %2\HCA\ia64\cl32.pdb /y
\r
601 copy /B %bin_dir%\winverbs.dll %2\HCA\ia64\winverbs32.dll /y
\r
602 copy /B %bin_dir%\winverbs.lib %2\HCA\ia64\winverbs32.lib /y
\r
603 copy /B %bin_dir%\winverbs.pdb %2\HCA\ia64\winverbs32.pdb /y
\r
604 copy /B %bin_dir%\winmad.dll %2\HCA\ia64\winverbs32.dll /y
\r
605 copy /B %bin_dir%\winmad.lib %2\HCA\ia64\winverbs32.lib /y
\r
606 copy /B %bin_dir%\winmad.pdb %2\HCA\ia64\winverbs32.pdb /y
\r
608 copy /B %bin_dir%\mthcau.dll %2\HCA\amd64\mthca32.dll /y
\r
609 copy /B %bin_dir%\mthcau.dll %2\HCA\ia64\mthca32.dll /y
\r
611 copy /B %bin_dir%\mlx4u.dll %2\HCA\amd64\mlx4u32.dll /y
\r
612 copy /B %bin_dir%\mlx4u.dll %2\HCA\ia64\mlx4u32.dll /y
\r
614 copy /B %bin_dir%\dapl.dll %2\DAPL\amd64\dapl32.dll /y
\r
615 copy /B %bin_dir%\dat.dll %2\DAPL\amd64\dat32.dll /y
\r
616 copy /B %bin_dir%\dapl.dll %2\DAPL\ia64\dapl32.dll /y
\r
617 copy /B %bin_dir%\dat.dll %2\DAPL\ia64\dat32.dll /y
\r
619 copy /B %bin_dir%\dapl2.dll %2\DAPL2\amd64\dapl232.dll /y
\r
620 copy /B %bin_dir%\dat2.dll %2\DAPL2\amd64\dat232.dll /y
\r
621 copy /B %bin_dir%\dapl2.dll %2\DAPL2\ia64\dapl232.dll /y
\r
622 copy /B %bin_dir%\dat2.dll %2\DAPL2\ia64\dat232.dll /y
\r
626 rem bin\bin used to generate a web based symbol store in build-ofa-dist.bat.
\r
628 echo 'Copy bin\obj{chk,fre}_%3_{x86,amd64,ia64} to bin'
\r
629 rem xcopy %1\bin %2\bin\ /eyq
\r
630 rem instead of copying the entire bin\ folder, pick items of OS interest.
\r
632 xcopy %1\bin\kernel\objchk_%3_x86 %2\bin\kernel\objchk_%3_x86\ /S /Y /Q
\r
633 xcopy %1\bin\kernel\objfre_%3_x86 %2\bin\kernel\objfre_%3_x86\ /S /Y /Q
\r
634 if /I "%3" == "wxp" goto ucpy
\r
635 xcopy %1\bin\kernel\objchk_%3_ia64 %2\bin\kernel\objchk_%3_ia64\ /S /Y /Q
\r
636 xcopy %1\bin\kernel\objfre_%3_ia64 %2\bin\kernel\objfre_%3_ia64\ /S /Y /Q
\r
637 xcopy %1\bin\kernel\objchk_%3_amd64 %2\bin\kernel\objchk_%3_amd64\ /S /Y /Q
\r
638 xcopy %1\bin\kernel\objfre_%3_amd64 %2\bin\kernel\objfre_%3_amd64\ /S /Y /Q
\r
642 xcopy %1\bin\user\objchk_%3_x86 %2\bin\user\objchk_%3_x86\ /S /Y /Q
\r
643 xcopy %1\bin\user\objfre_%3_x86 %2\bin\user\objfre_%3_x86\ /S /Y /Q
\r
644 if /I "%3" == "wxp" goto ucpyx
\r
645 xcopy %1\bin\user\objchk_%3_ia64 %2\bin\user\objchk_%3_ia64\ /S /Y /Q
\r
646 xcopy %1\bin\user\objfre_%3_ia64 %2\bin\user\objfre_%3_ia64\ /S /Y /Q
\r
647 xcopy %1\bin\user\objchk_%3_amd64 %2\bin\user\objchk_%3_amd64\ /S /Y /Q
\r
648 xcopy %1\bin\user\objfre_%3_amd64 %2\bin\user\objfre_%3_amd64\ /S /Y /Q
\r
652 rem echo Copy symbol files: bin\*.pdb to %2\symbols
\r
653 rem xcopy %1\bin\*.pdb %2\symbols\ /eyq
\r
655 rem if "%DBG%" == "TRUE" echo DBG: bin\ file cleanup, file-not-found is OK.
\r
657 rem del /s bin\*.pdb > nul
\r
658 rem del /s ibtest* > nul
\r
659 rem del /s pingpong* > nul
\r
660 rem del /s *Sdp* > nul
\r
661 rem del /s Select* > nul
\r
662 rem del /s usrp* > nul
\r
663 rem del /s bin\*.lib > nul
\r
664 rem del /s bin\*.exp > nul
\r
667 rem Copy DAT v1.1 header files
\r
668 if "%DBG%" == "TRUE" echo DBG: DAT v1.1 header files
\r
669 if exist %1\ulp\dapl\dat\include\dat (
\r
670 pushd %1\ulp\dapl\dat\include\dat
\r
672 xcopy dat.h %2\DAPL /Y/Q
\r
673 xcopy dat_error.h %2\DAPL /Y/Q
\r
674 xcopy dat_platform_specific.h %2\DAPL /Y/Q
\r
675 xcopy dat_redirection.h %2\DAPL /Y/Q
\r
676 xcopy dat_registry.h %2\DAPL /Y/Q
\r
677 xcopy dat_vendor_specific.h %2\DAPL /Y/Q
\r
678 xcopy udat.h %2\DAPL /Y/Q
\r
679 xcopy udat_config.h %2\DAPL /Y/Q
\r
680 xcopy udat_redirection.h %2\DAPL /Y/Q
\r
681 xcopy udat_vendor_specific.h %2\DAPL /Y/Q
\r
685 rem Copy DAT v2.0 header files
\r
687 if "%DBG%" == "TRUE" echo DBG: [%OSE%] DAT v2.0 header files
\r
689 if exist %1\ulp\dapl2\dat\include\dat (set DATINC=dat) else (set DATINC=dat2)
\r
690 pushd %1\ulp\dapl2\dat\include\%DATINC%
\r
692 echo %0: ERR - missing DAT files @ %1\ulp\dapl2\dat\include\%DATINC%
\r
695 xcopy dat.h %2\DAPL2 /Y/Q
\r
696 xcopy dat_error.h %2\DAPL2 /Y/Q
\r
697 xcopy dat_platform_specific.h %2\DAPL2 /Y/Q
\r
698 xcopy dat_redirection.h %2\DAPL2 /Y/Q
\r
699 xcopy dat_registry.h %2\DAPL2 /Y/Q
\r
700 xcopy dat_vendor_specific.h %2\DAPL2 /Y/Q
\r
701 xcopy udat.h %2\DAPL2 /Y/Q
\r
702 xcopy udat_config.h %2\DAPL2 /Y/Q
\r
703 xcopy udat_redirection.h %2\DAPL2 /Y/Q
\r
704 xcopy udat_vendor_specific.h %2\DAPL2 /Y/Q
\r
707 pushd %1\ulp\dapl2\test\dapltest\scripts
\r
708 xcopy dt-svr.bat %2\DAPL2 /Y/Q
\r
709 xcopy dt-cli.bat %2\DAPL2 /Y/Q
\r
712 rem Copy IBAL header files
\r
713 if "%DBG%" == "TRUE" echo DBG: IBAL header files
\r
715 if exist %2\inc rmdir /S/Q %2\inc
\r
718 xcopy oib_ver.h %2\Inc /Y/Q
\r
719 xcopy openib.def %2\Inc /Y/Q
\r
720 xcopy Complib %2\Inc\Complib /I/S/Y/Q
\r
721 xcopy Iba %2\Inc\Iba /I/S/Y/Q
\r
722 xcopy User\Complib %2\Inc\Complib /I/S/Y/Q
\r
723 xcopy User\Iba %2\Inc\Iba /I/S/Y/Q
\r
727 rem WDK/WIX, Docs & IB SDK items
\r
728 if "%DBG%" == "TRUE" echo DBG: WDK, WIx, Docs and SDK files
\r
730 if exist %2\Misc rmdir /Q/S %2\Misc
\r
733 copy /Y/A %1\Docs\Manual.htm %2\Misc\Manual.htm
\r
734 copy /Y/A %1\tests\cmtest\user\cmtest_main.c %2\Misc\cmtest.c
\r
736 rem copy 'Driver Install Frameworks for Applications' files so WIX makefiles
\r
737 rem are not required to know the current WDK version/path.
\r
739 for %%i in ( amd64 ia64 x86 ) do (
\r
742 echo ERR on mkdir %2\Misc\DIFxAPP\%%i
\r
745 for %%j in ( DIFxApp.dll DIFxAppA.dll DIFxApp.wixlib ) do (
\r
746 copy /B/Y %DIFXP%\%%i\%%j %2\Misc\%%i\%%j
\r
748 echo ERR on copy /B/Y %DIFXP%\%%i\%%j %2\Misc\%%i\%%j
\r
752 copy /B/Y %DPINST%\%%i\DPInst.exe %2\Misc\%%i\DPInst.exe
\r
754 echo ERR on copy /B/Y %DPINST%\%%i\DPInst.exe %2\Misc\%%i\DPInst.exe
\r
759 rem setup Checked Drivers & Symbols for signing and installation.
\r
760 if "%DBG%" == "TRUE" echo %3 Checked Drivers+symbols
\r
762 if NOT exist %2\Chk (
\r
765 echo "failed[%ERRORLEVEL%] mkdir %2\Chk ?"
\r
770 echo "Copy Checked drivers {HCA,net,storage} to %2\Chk"
\r
772 rem copy free drivers to get directory structure plus signing files.
\r
773 rem Overwrite .sys & .pdb files with checked versions.
\r
775 for %%i in ( HCA net storage ) do (
\r
776 xcopy %2\%%i %2\Chk\%%i\ /S /Y /Q
\r
778 echo ERR on xcopy %2\%%i %2\Chk /syq
\r
783 echo "Copy Checked drivers {ibbus,mthca,mlx} to %2\Chk\HCA\{amd64,ia64,x86}"
\r
784 set B=%2\bin\kernel\objchk_%3
\r
786 for %%i in ( ibbus mthca ibiou mlx4_hca mlx4_bus ) do (
\r
787 if exist %B%_amd64\amd64\%%i.sys (
\r
788 copy /B/Y %B%_amd64\amd64\%%i.sys %2\Chk\HCA\amd64\%%i.sys
\r
789 copy /B/Y %B%_amd64\amd64\%%i.pdb %2\Chk\HCA\amd64\%%i.pdb
\r
792 if exist %B%_ia64\ia64\%%i.sys (
\r
793 copy /B/Y %B%_ia64\ia64\%%i.sys %2\Chk\HCA\ia64\%%i.sys
\r
794 copy /B/Y %B%_ia64\ia64\%%i.pdb %2\Chk\HCA\ia64\%%i.pdb
\r
796 if exist %B%_x86\i386\%%i.sys (
\r
797 copy /B/Y %B%_x86\i386\%%i.sys %2\Chk\HCA\x86\%%i.sys
\r
798 copy /B/Y %B%_x86\i386\%%i.pdb %2\Chk\HCA\x86\%%i.pdb
\r
802 echo "Copy Checked drivers {ipoib,qlgcvnic} to %2\Chk\net\{amd64,ia64,x86}"
\r
803 for %%i in ( ipoib qlgcvnic ) do (
\r
804 if exist %B%_amd64\amd64\%%i.sys (
\r
805 copy /B/Y %B%_amd64\amd64\%%i.sys %2\Chk\net\amd64\%%i.sys
\r
806 copy /B/Y %B%_amd64\amd64\%%i.pdb %2\Chk\net\amd64\%%i.pdb
\r
808 if exist %B%_ia64\ia64\%%i.sys (
\r
809 copy /B/Y %B%_ia64\ia64\%%i.sys %2\Chk\net\ia64\%%i.sys
\r
810 copy /B/Y %B%_ia64\ia64\%%i.pdb %2\Chk\net\ia64\%%i.pdb
\r
812 if exist %B%_x86\i386\%%i.sys (
\r
813 copy /B/Y %B%_x86\i386\%%i.sys %2\Chk\net\x86\%%i.sys
\r
814 copy /B/Y %B%_x86\i386\%%i.pdb %2\Chk\net\x86\%%i.pdb
\r
818 echo "Copy Checked drivers {ibsrp} to %2\Chk\storage\{amd64,ia64,x86}"
\r
819 for %%i in ( ibsrp ) do (
\r
820 if exist %B%_amd64\amd64\%%i.sys (
\r
821 copy /B/Y %B%_amd64\amd64\%%i.sys %2\Chk\storage\amd64\%%i.sys
\r
822 copy /B/Y %B%_amd64\amd64\%%i.pdb %2\Chk\storage\amd64\%%i.pdb
\r
824 if exist %B%_ia64\ia64\%%i.sys (
\r
825 copy /B/Y %B%_ia64\ia64\%%i.sys %2\Chk\storage\ia64\%%i.sys
\r
826 copy /B/Y %B%_ia64\ia64\%%i.pdb %2\Chk\storage\ia64\%%i.pdb
\r
828 if exist %B%_x86\i386\%%i.sys (
\r
829 copy /B/Y %B%_x86\i386\%%i.sys %2\Chk\storage\x86\%%i.sys
\r
830 copy /B/Y %B%_x86\i386\%%i.pdb %2\Chk\storage\x86\%%i.pdb
\r
837 echo makebin src dest os
\r
838 echo src base directory.
\r
839 echo dest directory in which to build the installable binary tree.
\r
840 echo os Windows version [wlh, wnet, wxp]
\r
844 echo %1\bin\kernel\objfre_%OSE%_amd64\amd64 missing
\r
847 echo %1\bin\kernel\objfre_%OSE%_ia64\ia64 missing
\r
850 echo %1\bin\kernel\objfre_%OSE%_x86\i386 missing
\r
853 echo %1\bin\user\objfre_%OSE%_amd64\amd64 missing
\r
856 echo %6\bin\user\objfre_%OSE%_ia64\ia64 missing
\r
859 echo %1\bin\user\objfre_%OSE%_x86\i386 missing
\r
862 echo %1\bin\user\objchk_%OSE%_amd64\amd64 missing
\r
865 echo %1\bin\user\objchk_%OSE%_ia64\ia64 missing
\r
868 echo %1\bin\user\objchk_%OSE%_x86\i386 missing
\r
872 echo Finished OS %3
\r