[WinOF] updated clean-build.bat due to a problem with a cmd window in delete path...
[mirror/winof/.git] / etc / makebin.bat
1 @echo off\r
2 setlocal\r
3 \r
4 rem usage: makebin src dst [wlh | wnet | wxp]\r
5 rem\r
6 rem  src(%1) - OpenIB src path ...\gen1\trunk\r
7 rem  dst(%2) - full path tp where binaries are copied, 'bin\' created here.\r
8 rem  OSE(%3) - (Operating System Environment) which windows version\r
9 rem            {wxp,wlh,wnet} representing {XP, server 2008 & server 2003}\r
10 \r
11 rem makebin is designed to take an openIB build tree path and produce a folder\r
12 rem tree of binaries suitable for input to a WIX builder which procduces\r
13 rem an OS .msi installer.\r
14 rem Building a WinOF release is done is 3 phases, makebin is the 2nd phase.\r
15 rem makebin is commonly run from trunk\buildrelease.bat although it can be\r
16 rem run standalone.\r
17 \r
18 echo Starting makebin\r
19 echo      Src %1\r
20 echo      Dst %2\r
21 echo      OS  %3\r
22 \r
23 if "%1"=="" goto usage\r
24 if "%2"=="" goto usage\r
25 \r
26 if "%3"=="" goto usage\r
27 if /I "%3"=="wlh" goto os_ok\r
28 if /I "%3"=="wnet" goto os_ok\r
29 if /I "%3"=="wxp" goto os_ok\r
30 echo %0: Err - Invalid OS type '%3' ?\r
31 goto usage\r
32 \r
33 :os_ok\r
34 \r
35 rem if not "%4"=="" set DBG=TRUE\r
36 set DBG=TRUE\r
37 \r
38 set OSE=%3\r
39 set WdfCoInstaller=%systemdrive%\WinDDK\6001.18001\redist\wdf\r
40 \r
41 if not exist %1 goto usage\r
42 if not exist %2 goto usage\r
43 \r
44 if /I "%OSE%" == "wxp" (\r
45     if not exist %1\bin\kernel\objfre_%OSE%_x86\i386 goto error3\r
46     if not exist %1\bin\user\objfre_%OSE%_x86\i386 goto error6\r
47     if not exist %1\bin\user\objchk_%OSE%_x86\i386 goto error9\r
48 ) else (\r
49     if not exist %1\bin\kernel\objfre_%OSE%_amd64\amd64 goto error1\r
50     if not exist %1\bin\kernel\objfre_%OSE%_ia64\ia64 goto error2\r
51     if not exist %1\bin\kernel\objfre_%OSE%_x86\i386 goto error3\r
52     if not exist %1\bin\user\objfre_%OSE%_amd64\amd64 goto error4\r
53     if not exist %1\bin\user\objfre_%OSE%_ia64\ia64 goto error5\r
54     if not exist %1\bin\user\objfre_%OSE%_x86\i386 goto error6\r
55     if not exist %1\bin\user\objchk_%OSE%_amd64\amd64 goto error7\r
56     if not exist %1\bin\user\objchk_%OSE%_ia64\ia64 goto error8\r
57     if not exist %1\bin\user\objchk_%OSE%_x86\i386 goto error9\r
58 )\r
59 \r
60 rem\r
61 rem KERNEL MODE\r
62 rem\r
63 \r
64 if /I "%OSE%" == "wxp" goto wxp_drv\r
65 \r
66 rem Copy AMD64 Free drivers\r
67 set bin_dir=%1\bin\kernel\objfre_%OSE%_amd64\amd64\r
68 set dest_dir=%2\HCA\amd64\\r
69 \r
70 if "%DBG%" == "TRUE" echo DBG: AMD64 free drivers\r
71 \r
72 set F=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
73 for %%i in ( %F% ) do (\r
74     xcopy %bin_dir%\%%i %dest_dir% /yq 1> nul\r
75     if ERRORLEVEL 1 (\r
76         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
77         exit /B 1\r
78     )\r
79 )\r
80 xcopy %WdfCoInstaller%\amd64\WdfCoInstaller01007.dll %dest_dir% /yq \r
81 \r
82 xcopy %bin_dir%\ipoib.sys %2\net\amd64\ /yq\r
83 xcopy %bin_dir%\qlgcvnic.sys %2\net\amd64\ /yq\r
84 xcopy %bin_dir%\ibsrp.sys %2\storage\amd64\ /yq\r
85 \r
86 xcopy %bin_dir%\ipoib.pdb %2\net\amd64\ /yq\r
87 xcopy %bin_dir%\qlgcvnic.pdb %2\net\amd64\ /yq\r
88 xcopy %bin_dir%\ibsrp.pdb %2\storage\amd64\ /yq\r
89 \r
90 xcopy %bin_dir%\netipoib.inf %2\net\amd64\ /yq\r
91 xcopy %bin_dir%\netvnic.inf %2\net\amd64\ /yq\r
92 xcopy %bin_dir%\ib_srp.inf %2\storage\amd64\ /yq\r
93 \r
94 rem Copy IA64 drivers\r
95 set bin_dir=%1\bin\kernel\objfre_%OSE%_ia64\ia64\r
96 set dest_dir=%2\HCA\ia64\\r
97 \r
98 if "%DBG%" == "TRUE" echo DBG: ia64 free drivers\r
99 \r
100 set F=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
101 for %%i in ( %F% ) do (\r
102     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
103     if ERRORLEVEL 1 (\r
104         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
105         exit /B 1\r
106     )\r
107 )\r
108 xcopy %WdfCoInstaller%\ia64\WdfCoInstaller01007.dll %dest_dir% /yq \r
109 \r
110 xcopy %bin_dir%\ipoib.sys %2\net\ia64\ /yq\r
111 xcopy %bin_dir%\qlgcvnic.sys %2\net\ia64\ /yq\r
112 xcopy %bin_dir%\ibsrp.sys %2\storage\ia64\ /yq\r
113 \r
114 xcopy %bin_dir%\ipoib.pdb %2\net\ia64\ /yq\r
115 xcopy %bin_dir%\qlgcvnic.pdb %2\net\ia64\ /yq\r
116 xcopy %bin_dir%\ibsrp.pdb %2\storage\ia64\ /yq\r
117 \r
118 xcopy %bin_dir%\netipoib.inf %2\net\ia64\ /yq\r
119 xcopy %bin_dir%\netvnic.inf %2\net\ia64\ /yq\r
120 xcopy %bin_dir%\ib_srp.inf %2\storage\ia64\ /yq\r
121 \r
122 rem Copy x86 drivers\r
123 \r
124 :wxp_drv\r
125 \r
126 if "%DBG%" == "TRUE" echo DBG: x86 free drivers\r
127 \r
128 set bin_dir=%1\bin\kernel\objfre_%OSE%_x86\i386\r
129 set dest_dir=%2\HCA\x86\\r
130 \r
131 set F=ibbus.sys ibbus.pdb ibiou.sys ibiou.pdb ib_iou.inf mthca.sys mthca.pdb mthca.inf 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
132 for %%i in ( %F% ) do (\r
133     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
134     if ERRORLEVEL 1 (\r
135         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
136         exit /B 1\r
137     )\r
138 )\r
139 xcopy %WdfCoInstaller%\x86\WdfCoInstaller01007.dll %dest_dir% /yq\r
140 \r
141 xcopy %bin_dir%\ipoib.sys %2\net\x86\ /yq\r
142 xcopy %bin_dir%\qlgcvnic.sys %2\net\x86\ /yq\r
143 xcopy %bin_dir%\ibsrp.sys %2\storage\x86\ /yq\r
144 \r
145 xcopy %bin_dir%\ipoib.pdb %2\net\x86\ /yq\r
146 xcopy %bin_dir%\qlgcvnic.pdb %2\net\x86\ /yq\r
147 xcopy %bin_dir%\ibsrp.pdb %2\storage\x86\ /yq\r
148 \r
149 xcopy %bin_dir%\netipoib.inf %2\net\x86\ /yq\r
150 xcopy %bin_dir%\netvnic.inf %2\net\x86\ /yq\r
151 xcopy %bin_dir%\ib_srp.inf %2\storage\x86\ /yq\r
152 \r
153 rem Checked USER MODE\r
154 \r
155 if /I "%OSE%" == "wxp" goto wxp_userm\r
156 \r
157 if "%DBG%" == "TRUE" echo DBG: amd64 Checked amd64 user-mode\r
158 \r
159 set bin_dir=%1\bin\user\objchk_%OSE%_amd64\amd64\r
160 set dest_dir=%2\HCA\amd64\\r
161 \r
162 for %%i in (ibald.dll complibd.dll mthcaud.dll mlx4ud.dll) do (\r
163     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
164     if ERRORLEVEL 1 (\r
165         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
166         exit /B 1\r
167     )\r
168 )\r
169 \r
170 for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do (\r
171     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
172     if ERRORLEVEL 1 (\r
173         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
174         exit /B 1\r
175     )\r
176 )\r
177 \r
178 echo xcopy winverbs: User checked to HCA\amd64\r
179 set F=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\r
180 \r
181 for %%i in ( %F% ) do (\r
182     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
183     if ERRORLEVEL 1 (\r
184         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
185         exit /B 1\r
186     )\r
187 )\r
188 \r
189 echo xcopy *.exe tools\amd64\debug\\r
190 xcopy %bin_dir%\*.exe %2\tools\amd64\debug\ /yq 1>nul\r
191 \r
192 set F=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb\r
193 \r
194 for %%i in ( %F% ) do (\r
195     xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq 1>nul\r
196     if ERRORLEVEL 1 (\r
197         echo ERR on xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq\r
198         exit /B 1\r
199     )\r
200 )\r
201 \r
202 set F=dapl2d.dll dapl2d.pdb dapl2-scmd.dll dapl2-scmd.pdb dat2d.dll dat2d.lib dat2d.pdb\r
203 \r
204 for %%i in ( %F% ) do (\r
205     xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq 1>nul\r
206     if ERRORLEVEL 1 (\r
207         echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq\r
208         exit /B 1\r
209     )\r
210 )\r
211 \r
212 \r
213 rem Copy checked IA64 dlls\r
214 \r
215 if "%DBG%" == "TRUE" echo DBG: ia64 Checked dlls\r
216 \r
217 set bin_dir=%1\bin\user\objchk_%OSE%_ia64\ia64\r
218 set dest_dir=%2\HCA\ia64\\r
219 \r
220 for %%i in (ibald.dll complibd.dll mthcaud.dll mlx4ud.dll) do (\r
221     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
222     if ERRORLEVEL 1 (\r
223         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
224         exit /B 1\r
225     )\r
226 )\r
227 \r
228 for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do (\r
229     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
230     if ERRORLEVEL 1 (\r
231         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
232         exit /B 1\r
233     )\r
234 )\r
235 \r
236 echo xcopy winverbs: User checked to HCA\ia64\r
237 set F=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\r
238 \r
239 for %%i in ( %F% ) do (\r
240     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
241     if ERRORLEVEL 1 (\r
242         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
243         exit /B 1\r
244     )\r
245 )\r
246 \r
247 echo xcopy *.exe tools\ia64\debug\ \r
248 xcopy %bin_dir%\*.exe %2\tools\ia64\debug\ /yq 1>nul\r
249 \r
250 set F=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb\r
251 \r
252 for %%i in ( %F% ) do (\r
253     xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq 1>nul\r
254     if ERRORLEVEL 1 (\r
255         echo ERR on xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq\r
256         exit /B 1\r
257     )\r
258 )\r
259 \r
260 set F=dapl2d.dll dapl2d.pdb dapl2-scmd.dll dapl2-scmd.pdb dat2d.dll dat2d.lib dat2d.pdb\r
261 \r
262 for %%i in ( %F% ) do (\r
263     xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq 1>nul\r
264     if ERRORLEVEL 1 (\r
265         echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq\r
266         exit /B 1\r
267     )\r
268 )\r
269 \r
270 \r
271 rem checked x86 user mode\r
272 \r
273 :wxp_userm\r
274 \r
275 if "%DBG%" == "TRUE" echo DBG: x86 Checked user-mode dlls\r
276 \r
277 set bin_dir=%1\bin\user\objchk_%OSE%_x86\i386\r
278 set dest_dir=%2\HCA\x86\\r
279 \r
280 for %%i in (ibald.dll complibd.dll mthcaud.dll mlx4ud.dll) do (\r
281     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
282     if ERRORLEVEL 1 (\r
283         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
284         exit /B 1\r
285     )\r
286 )\r
287 \r
288 for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do (\r
289     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
290     if ERRORLEVEL 1 (\r
291         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
292         exit /B 1\r
293     )\r
294 )\r
295 \r
296 echo xcopy winverbs: User checked to HCA\x86\r
297 set F=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\r
298 \r
299 for %%i in ( %F% ) do (\r
300     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
301     if ERRORLEVEL 1 (\r
302         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
303         exit /B 1\r
304     )\r
305 )\r
306 \r
307 if "%DBG%" == "TRUE"  echo DBG: checked *.exe to tools\x86\debug\ \r
308 xcopy %bin_dir%\*.exe %2\tools\x86\debug\ /yq 1>nul\r
309 \r
310 set F=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb\r
311 \r
312 for %%i in ( %F% ) do (\r
313     xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq 1>nul\r
314     if ERRORLEVEL 1 (\r
315         echo ERR on xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq\r
316         exit /B 1\r
317     )\r
318 )\r
319 \r
320 set F=dapl2d.dll dapl2d.pdb dapl2-scmd.dll dapl2-scmd.pdb dat2d.dll dat2d.lib dat2d.pdb\r
321 \r
322 for %%i in ( %F% ) do (\r
323     xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq 1>nul\r
324     if ERRORLEVEL 1 (\r
325         echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq\r
326         exit /B 1\r
327     )\r
328 )\r
329 copy /B %bin_dir%\installsp.exe %2\tools\x86\debug\ /y 1>nul\r
330 \r
331 if /I "%OSE%" == "wxp" goto wxp_free_drv\r
332 \r
333 rem checked x86 DLLs --> WOW64 DLLs\r
334 \r
335 if "%DBG%" == "TRUE" echo DBG: x86 Checked dlls copy to WOW64 dlls\r
336 \r
337 rem xcopy had problems determining if dest was File | Dir ??\r
338 \r
339 copy /B %bin_dir%\ibald.dll %2\HCA\amd64\ibal32d.dll /y \r
340 copy /B %bin_dir%\ibald.lib %2\HCA\amd64\ibal32d.lib /y \r
341 copy /B %bin_dir%\ibald.pdb %2\HCA\amd64\ibal32d.pdb /y \r
342 copy /B %bin_dir%\complibd.dll %2\HCA\amd64\cl32d.dll /y \r
343 copy /B %bin_dir%\complibd.lib %2\HCA\amd64\cl32d.lib /y \r
344 copy /B %bin_dir%\complibd.pdb %2\HCA\amd64\cl32d.pdb /y \r
345 \r
346 copy /B %bin_dir%\ibald.dll %2\HCA\ia64\ibal32d.dll /y \r
347 copy /B %bin_dir%\ibald.lib %2\HCA\ia64\ibal32d.lib /y \r
348 copy /B %bin_dir%\ibald.pdb %2\HCA\ia64\ibal32d.pdb /y \r
349 copy /B %bin_dir%\complibd.dll %2\HCA\ia64\cl32d.dll /y \r
350 copy /B %bin_dir%\complibd.lib %2\HCA\ia64\cl32d.lib /y \r
351 copy /B %bin_dir%\complibd.pdb %2\HCA\ia64\cl32d.pdb /y \r
352 \r
353 copy /B %bin_dir%\mthcaud.dll %2\HCA\amd64\mthca32d.dll /y \r
354 copy /B %bin_dir%\mthcaud.dll %2\HCA\ia64\mthca32d.dll /y \r
355 \r
356 copy /B %bin_dir%\mlx4ud.dll %2\HCA\amd64\mlx4u32d.dll /y \r
357 copy /B %bin_dir%\mlx4ud.dll %2\HCA\ia64\mlx4u32d.dll /y\r
358 \r
359 copy /B %bin_dir%\dapld.dll  %2\DAPL\amd64\dapl32d.dll /y \r
360 copy /B %bin_dir%\datd.dll   %2\DAPL\amd64\dat32d.dll /y \r
361 copy /B %bin_dir%\dapld.dll  %2\DAPL\ia64\dapl32d.dll /y \r
362 copy /B %bin_dir%\datd.dll   %2\DAPL\ia64\dat32d.dll /y \r
363 \r
364 copy /B %bin_dir%\dapl2d.dll %2\DAPL2\amd64\dapl232d.dll /y \r
365 copy /B %bin_dir%\dat2d.dll  %2\DAPL2\amd64\dat232d.dll /y \r
366 copy /B %bin_dir%\dapl2d.dll %2\DAPL2\ia64\dapl232d.dll /y \r
367 copy /B %bin_dir%\dat2d.dll  %2\DAPL2\ia64\dat232d.dll /y \r
368 \r
369 rem Copy Free x64 dll\r
370 \r
371 set bin_dir=%1\bin\user\objfre_%OSE%_amd64\amd64\r
372 set dest_dir=%2\HCA\amd64\\r
373 \r
374 if "%DBG%" == "TRUE" echo DBG: copy amd64 Free dlls\r
375 \r
376 for %%i in (ibal.dll complib.dll mthcau.dll mlx4u.dll) do (\r
377     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
378     if ERRORLEVEL 1 (\r
379         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /y\r
380         exit /B 1\r
381     )\r
382 )\r
383 \r
384 for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do (\r
385     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
386     if ERRORLEVEL 1 (\r
387         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
388         exit /B 1\r
389     )\r
390 )\r
391 \r
392 echo xcopy winverbs: User free to HCA\amd64\r
393 set F=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\r
394 \r
395 for %%i in ( %F% ) do (\r
396     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
397     if ERRORLEVEL 1 (\r
398         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
399         exit /B 1\r
400     )\r
401 )\r
402 \r
403 xcopy %bin_dir%\ibwsd.dll %2\net\amd64\ /yq\r
404 xcopy %bin_dir%\installsp.exe %2\net\amd64\ /yq \r
405 xcopy %bin_dir%\installsp.exe %2\tools\amd64\release\ /yq\r
406 xcopy %bin_dir%\ndinstall.exe %2\net\amd64\ /yq \r
407 xcopy %bin_dir%\ndinstall.exe %2\tools\amd64\release\ /yq\r
408 xcopy %bin_dir%\ibndprov.dll %2\net\amd64\ /yq\r
409 \r
410 echo xcopy amd64 Free *.exe tools\amd64\release\ \r
411 xcopy %bin_dir%\*.exe %2\tools\amd64\release\ /yq 1>nul\r
412 \r
413 echo xcopy AMD64 [Winverb-apps].pdb tools\amd64\release\ \r
414 xcopy %bin_dir%\*.pdb %2\tools\amd64\release\ /yq 1>nul\r
415 if ERRORLEVEL 1 (\r
416         echo ERR on xcopy %bin_dir%\*.pdb %2\tools\amd64\release\ /yq\r
417         exit /B 1\r
418 )\r
419 \r
420 set F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb\r
421 \r
422 for %%i in ( %F% ) do (\r
423     xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq 1>nul\r
424     if ERRORLEVEL 1 (\r
425         echo ERR on xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq\r
426         exit /B 1\r
427     )\r
428 )\r
429 \r
430 set F=dapl2.dll dapl2.pdb dapl2-scm.dll dapl2-scm.pdb dat2.dll dat2.lib dat2.pdb\r
431 \r
432 for %%i in ( %F% ) do (\r
433     xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq 1>nul\r
434     if ERRORLEVEL 1 (\r
435         echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq\r
436         exit /B 1\r
437     )\r
438 )\r
439 \r
440 \r
441 rem Copy Free IA64 dlls\r
442 \r
443 set bin_dir=%1\bin\user\objfre_%OSE%_ia64\ia64\r
444 set dest_dir=%2\HCA\ia64\\r
445 \r
446 if "%DBG%" == "TRUE" echo DBG: copy IA64 Free dlls\r
447 \r
448 for %%i in (ibal.dll complib.dll mthcau.dll mlx4u.dll) do (\r
449     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
450     if ERRORLEVEL 1 (\r
451         echo ERR on xcopy %%i %dest_dir% /yq\r
452         exit /B 1\r
453     )\r
454 )\r
455 \r
456 for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do (\r
457     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
458     if ERRORLEVEL 1 (\r
459         echo ERR on xcopy %%i %dest_dir% /yq\r
460         exit /B 1\r
461     )\r
462 )\r
463 \r
464 echo xcopy winverbs: User free to HCA\ia64\r
465 set F=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\r
466 \r
467 for %%i in ( %F% ) do (\r
468     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
469     if ERRORLEVEL 1 (\r
470         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
471         exit /B 1\r
472     )\r
473 )\r
474 \r
475 xcopy %bin_dir%\ibwsd.dll %2\net\ia64\ /yq\r
476 xcopy %bin_dir%\installsp.exe %2\net\ia64\ /yq\r
477 xcopy %bin_dir%\ndinstall.exe %2\net\ia64\ /yq\r
478 xcopy %bin_dir%\ibndprov.dll %2\net\ia64\ /yq\r
479 \r
480 echo xcopy IA64 Free *.exe tools\ia64\release\ \r
481 xcopy %bin_dir%\*.exe %2\tools\ia64\release\ /yq 1>nul\r
482 \r
483 echo xcopy IA64 [Winverb-apps].pdb tools\ia64\release\ \r
484 xcopy %bin_dir%\*.pdb %2\tools\ia64\release\ /yq 1>nul\r
485 if ERRORLEVEL 1 (\r
486         echo ERR on xcopy %bin_dir%\*.pdb %2\tools\ia64\release\ /yq\r
487         exit /B 1\r
488 )\r
489 \r
490 set F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb \r
491 \r
492 for %%i in ( %F% ) do (\r
493     xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq 1>nul\r
494     if ERRORLEVEL 1 (\r
495         echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq\r
496         exit /B 1\r
497     )\r
498 )\r
499 \r
500 set F=dapl2.dll dapl2.pdb dapl2-scm.dll dapl2-scm.pdb dat2.dll dat2.lib dat2.pdb\r
501 \r
502 for %%i in ( %F% ) do (\r
503     xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq 1>nul\r
504     if ERRORLEVEL 1 (\r
505         echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq\r
506         exit /B 1\r
507     )\r
508 )\r
509 \r
510 \r
511 rem Copy Free x86 drivers\r
512 \r
513 :wxp_free_drv\r
514 \r
515 set bin_dir=%1\bin\user\objfre_%OSE%_x86\i386\r
516 set dest_dir=%2\HCA\x86\\r
517 \r
518 if "%DBG%" == "TRUE" echo DBG: copy x86 Free dlls\r
519 \r
520 for %%i in (ibal.dll complib.dll mthcau.dll mlx4u.dll) do (\r
521     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
522     if ERRORLEVEL 1 (\r
523         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
524         exit /B 1\r
525     )\r
526 )\r
527 \r
528 for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do (\r
529     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
530     if ERRORLEVEL 1 (\r
531         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
532         exit /B 1\r
533     )\r
534 )\r
535 \r
536 echo xcopy winverbs: User free to HCA\x86\r
537 set F=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\r
538 \r
539 for %%i in ( %F% ) do (\r
540     xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
541     if ERRORLEVEL 1 (\r
542         echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
543         exit /B 1\r
544     )\r
545 )\r
546 \r
547 echo xcopy x86 free *.exe to tools\x86\release\r
548 xcopy %bin_dir%\*.exe %2\tools\x86\release\ /yq 1>nul\r
549 \r
550 echo xcopy X86 Free [Winverb-apps].pdb tools\x86\release\ \r
551 xcopy %bin_dir%\*.pdb %2\tools\x86\release\ /yq 1>nul\r
552 if ERRORLEVEL 1 (\r
553         echo ERR on xcopy %bin_dir%\*.pdb %2\tools\x86\release\ /yq\r
554         exit /B 1\r
555 )\r
556 \r
557 set F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb\r
558 \r
559 for %%i in ( %F% ) do (\r
560     xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq 1>nul\r
561     if ERRORLEVEL 1 (\r
562         echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq\r
563         exit /B 1\r
564     )\r
565 )\r
566 \r
567 set F=dapl2.dll dapl2.pdb dapl2-scm.dll dapl2-scm.pdb dat2.dll dat2.lib dat2.pdb\r
568 \r
569 for %%i in ( %F% ) do (\r
570     xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq 1>nul\r
571     if ERRORLEVEL 1 (\r
572         echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq\r
573         exit /B 1\r
574     )\r
575 )\r
576 \r
577 copy %bin_dir%\ndinstall.exe %2\net\x86\ /y\r
578 copy %bin_dir%\ndinstall.exe %2\tools\x86\release\ /y\r
579 copy %bin_dir%\ibndprov.dll %2\net\x86\ /y\r
580 \r
581 if /I "%OSE%" == "wxp" goto inf_files\r
582 \r
583 rem free x86 items\r
584 \r
585 if "%DBG%" == "TRUE" echo DBG: copy x86 Free WSD\r
586 \r
587 copy %bin_dir%\ibwsd.dll %2\net\x86\ /y\r
588 copy %bin_dir%\installsp.exe %2\net\x86\ /y\r
589 copy %bin_dir%\installsp.exe %2\tools\x86\release\ /y\r
590 \r
591 rem free x86 DLLs --> WOW64 DLLs\r
592 \r
593 if "%DBG%" == "TRUE" echo DBG: x86 Free dlls to WOW64\r
594 \r
595 copy %bin_dir%\ibndprov.dll %2\net\amd64\ibndprov32.dll /y\r
596 copy %bin_dir%\ibndprov.dll %2\net\ia64\ibndprov32.dll /y\r
597 copy /B %bin_dir%\ibwsd.dll %2\net\amd64\ibwsd32.dll /y\r
598 copy /B %bin_dir%\ibwsd.dll %2\net\ia64\ibwsd32.dll /y\r
599 \r
600 copy /B %bin_dir%\ibal.dll %2\HCA\amd64\ibal32.dll /y\r
601 copy /B %bin_dir%\ibal.lib %2\HCA\amd64\ibal32.lib /y\r
602 copy /B %bin_dir%\ibal.pdb %2\HCA\amd64\ibal32.pdb /y\r
603 copy /B %bin_dir%\complib.dll %2\HCA\amd64\cl32.dll /y\r
604 copy /B %bin_dir%\complib.lib %2\HCA\amd64\cl32.lib /y\r
605 copy /B %bin_dir%\complib.pdb %2\HCA\amd64\cl32.pdb /y\r
606 copy /B %bin_dir%\winverbs.dll %2\HCA\amd64\winverbs32.dll /y\r
607 copy /B %bin_dir%\winverbs.lib %2\HCA\amd64\winverbs32.lib /y\r
608 copy /B %bin_dir%\winverbs.pdb %2\HCA\amd64\winverbs32.pdb /y\r
609 copy /B %bin_dir%\winmad.dll %2\HCA\amd64\winverbs32.dll /y\r
610 copy /B %bin_dir%\winmad.lib %2\HCA\amd64\winverbs32.lib /y\r
611 copy /B %bin_dir%\winmad.pdb %2\HCA\amd64\winverbs32.pdb /y\r
612 \r
613 copy /B %bin_dir%\ibal.dll %2\HCA\ia64\ibal32.dll /y\r
614 copy /B %bin_dir%\ibal.lib %2\HCA\ia64\ibal32.lib /y\r
615 copy /B %bin_dir%\ibal.pdb %2\HCA\ia64\ibal32.pdb /y\r
616 copy /B %bin_dir%\complib.dll %2\HCA\ia64\cl32.dll /y\r
617 copy /B %bin_dir%\complib.lib %2\HCA\ia64\cl32.lib /y\r
618 copy /B %bin_dir%\complib.pdb %2\HCA\ia64\cl32.pdb /y\r
619 copy /B %bin_dir%\winverbs.dll %2\HCA\ia64\winverbs32.dll /y\r
620 copy /B %bin_dir%\winverbs.lib %2\HCA\ia64\winverbs32.lib /y\r
621 copy /B %bin_dir%\winverbs.pdb %2\HCA\ia64\winverbs32.pdb /y\r
622 copy /B %bin_dir%\winmad.dll %2\HCA\ia64\winverbs32.dll /y\r
623 copy /B %bin_dir%\winmad.lib %2\HCA\ia64\winverbs32.lib /y\r
624 copy /B %bin_dir%\winmad.pdb %2\HCA\ia64\winverbs32.pdb /y\r
625 \r
626 copy /B %bin_dir%\mthcau.dll %2\HCA\amd64\mthca32.dll /y\r
627 copy /B %bin_dir%\mthcau.dll %2\HCA\ia64\mthca32.dll /y\r
628 \r
629 copy /B %bin_dir%\mlx4u.dll %2\HCA\amd64\mlx4u32.dll /y\r
630 copy /B %bin_dir%\mlx4u.dll %2\HCA\ia64\mlx4u32.dll /y\r
631 \r
632 copy /B %bin_dir%\dapl.dll %2\DAPL\amd64\dapl32.dll /y\r
633 copy /B %bin_dir%\dat.dll %2\DAPL\amd64\dat32.dll /y\r
634 copy /B %bin_dir%\dapl.dll %2\DAPL\ia64\dapl32.dll /y\r
635 copy /B %bin_dir%\dat.dll %2\DAPL\ia64\dat32.dll /y\r
636 \r
637 copy /B %bin_dir%\dapl2.dll %2\DAPL2\amd64\dapl232.dll /y\r
638 copy /B %bin_dir%\dat2.dll %2\DAPL2\amd64\dat232.dll /y\r
639 copy /B %bin_dir%\dapl2.dll %2\DAPL2\ia64\dapl232.dll /y\r
640 copy /B %bin_dir%\dat2.dll %2\DAPL2\ia64\dat232.dll /y\r
641 \r
642 \r
643 rem Copy x86 .cdf files to arch specific dirs for Driver signing\r
644 rem .inf files now resident alongside .sys files\r
645 \r
646 :inf_files\r
647 \r
648 if "%DBG%" == "TRUE" echo DBG: cpy %OSE% x86 INF files\r
649 \r
650 copy /A/Y %1\hw\mthca\kernel\mthca32.cdf %2\HCA\x86\mthca.cdf\r
651 copy /A/Y %1\hw\mlx4\kernel\hca\mlx4_hca32.cdf %2\HCA\x86\mlx4_hca.cdf\r
652 copy /A/Y %1\hw\mlx4\kernel\bus\drv\mlx4_bus32.cdf %2\HCA\x86\mlx4_bus.cdf\r
653 copy /A/Y %1\core\iou\kernel\ib_iou.cdf %2\HCA\x86\ib_iou.cdf\r
654 rem [future?]copy /A/Y %1\core\winverbs\kernel\winverbs32.cdf %2\HCA\x86\winverbs.cdf\r
655 copy /A/Y %1\core\winverbs\kernel\winverbs.cdf %2\HCA\x86\winverbs.cdf\r
656 \r
657 rem No WSD support for XP32\r
658 if /I "%OSE%" == "wxp" (\r
659     copy /A /Y %1\ulp\ipoib\kernel\netipoib-xp32.inf %2\net\x86\netipoib.inf\r
660     copy /A /Y %1\ulp\ipoib\kernel\ipoib32-xp.cdf %2\net\x86\ipoib.cdf\r
661 ) else (\r
662     copy /A/Y %1\ulp\ipoib\kernel\ipoib32.cdf %2\net\x86\ipoib.cdf\r
663 )\r
664 xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\x86\ /yq\r
665 xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\x86\ /yq\r
666 \r
667 if /I "%OSE%" == "wxp" goto cpy_bin_files\r
668 \r
669 if "%DBG%" == "TRUE" echo DBG: copy 64bit INF files\r
670 \r
671 xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\amd64 /yq\r
672 \r
673 xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\amd64\ /yq\r
674 xcopy %1\hw\mlx4\kernel\hca\mlx4_hca32.cdf %2\HCA\amd64\ /yq\r
675 xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\amd64\ /yq\r
676 \r
677 xcopy %1\core\iou\kernel\ib_iou.cdf %2\HCA\amd64\ /yq\r
678 xcopy %1\core\winverbs\kernel\winverbs.cdf %2\HCA\amd64\ /yq\r
679 \r
680 xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\amd64\ /yq\r
681 xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\amd64\ /yq\r
682 xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\amd64\ /yq\r
683 \r
684 \r
685 rem When ConnectX works for ia64\r
686 rem xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\ia64\ /yq\r
687 rem xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\ia64\ /yq\r
688 \r
689 xcopy %1\core\iou\kernel\ib_iou.cdf %2\HCA\ia64\ /yq\r
690 xcopy %1\core\winverbs\kernel\winverbs.cdf %2\HCA\ia64\ /yq\r
691 \r
692 xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\ia64\ /yq\r
693 \r
694 xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\ia64\ /yq\r
695 xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\ia64\ /yq\r
696 xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\ia64\ /yq\r
697 \r
698 \r
699 :cpy_bin_files\r
700 \r
701 rem bin\bin used to generate a web based symbol store in build-ofa-dist.bat.\r
702 \r
703 echo 'Copy bin\obj{chk,fre}_%3_{x86,amd64,ia64} to bin'\r
704 rem xcopy %1\bin %2\bin\ /eyq\r
705 rem instead of copying the entire bin\ folder, pick items of OS interest.\r
706 \r
707 xcopy %1\bin\kernel\objchk_%3_x86 %2\bin\kernel\objchk_%3_x86\ /S /Y /Q\r
708 xcopy %1\bin\kernel\objfre_%3_x86 %2\bin\kernel\objfre_%3_x86\ /S /Y /Q\r
709 if /I "%3" == "wxp" goto ucpy\r
710 xcopy %1\bin\kernel\objchk_%3_ia64 %2\bin\kernel\objchk_%3_ia64\ /S /Y /Q\r
711 xcopy %1\bin\kernel\objfre_%3_ia64 %2\bin\kernel\objfre_%3_ia64\ /S /Y /Q\r
712 xcopy %1\bin\kernel\objchk_%3_amd64 %2\bin\kernel\objchk_%3_amd64\ /S /Y /Q\r
713 xcopy %1\bin\kernel\objfre_%3_amd64 %2\bin\kernel\objfre_%3_amd64\ /S /Y /Q\r
714 \r
715 :ucpy\r
716 \r
717 xcopy %1\bin\user\objchk_%3_x86 %2\bin\user\objchk_%3_x86\ /S /Y /Q\r
718 xcopy %1\bin\user\objfre_%3_x86 %2\bin\user\objfre_%3_x86\ /S /Y /Q\r
719 if /I "%3" == "wxp" goto ucpyx\r
720 xcopy %1\bin\user\objchk_%3_ia64 %2\bin\user\objchk_%3_ia64\ /S /Y /Q\r
721 xcopy %1\bin\user\objfre_%3_ia64 %2\bin\user\objfre_%3_ia64\ /S /Y /Q\r
722 xcopy %1\bin\user\objchk_%3_amd64 %2\bin\user\objchk_%3_amd64\ /S /Y /Q\r
723 xcopy %1\bin\user\objfre_%3_amd64 %2\bin\user\objfre_%3_amd64\ /S /Y /Q\r
724 \r
725 :ucpyx\r
726 \r
727 rem echo Copy symbol files: bin\*.pdb to %2\symbols\r
728 rem xcopy %1\bin\*.pdb %2\symbols\ /eyq\r
729 \r
730 rem if "%DBG%" == "TRUE" echo DBG: bin\ file cleanup, file-not-found is OK.\r
731 rem pushd %2\r
732 rem del /s bin\*.pdb > nul\r
733 rem del /s ibtest*   > nul\r
734 rem del /s pingpong* > nul\r
735 rem del /s *Sdp*     > nul\r
736 rem del /s Select*   > nul\r
737 rem del /s usrp*     > nul\r
738 rem del /s bin\*.lib > nul\r
739 rem del /s bin\*.exp > nul\r
740 rem popd\r
741 \r
742 rem Copy DAT v1.1 header files\r
743 if "%DBG%" == "TRUE" echo DBG: DAT v1.1 header files\r
744 if exist %1\ulp\dapl\dat\include\dat (\r
745     pushd %1\ulp\dapl\dat\include\dat\r
746 \r
747     xcopy dat.h %2\DAPL /Y/Q\r
748     xcopy dat_error.h %2\DAPL /Y/Q\r
749     xcopy dat_platform_specific.h %2\DAPL /Y/Q\r
750     xcopy dat_redirection.h %2\DAPL /Y/Q\r
751     xcopy dat_registry.h %2\DAPL /Y/Q\r
752     xcopy dat_vendor_specific.h %2\DAPL /Y/Q\r
753     xcopy udat.h %2\DAPL /Y/Q\r
754     xcopy udat_config.h %2\DAPL /Y/Q\r
755     xcopy udat_redirection.h %2\DAPL /Y/Q\r
756     xcopy udat_vendor_specific.h %2\DAPL /Y/Q\r
757     popd\r
758 )\r
759 \r
760 rem Copy DAT v2.0 header files\r
761 if "%DBG%" == "TRUE" echo DBG: DAT v2.0 header files\r
762 if exist %1\ulp\dapl2\dat\include\dat (\r
763     pushd %1\ulp\dapl2\dat\include\dat\r
764 \r
765     xcopy dat.h %2\DAPL2 /Y/Q  \r
766     xcopy dat_error.h %2\DAPL2 /Y/Q\r
767     xcopy dat_platform_specific.h %2\DAPL2 /Y/Q\r
768     xcopy dat_redirection.h %2\DAPL2 /Y/Q\r
769     xcopy dat_registry.h %2\DAPL2 /Y/Q\r
770     xcopy dat_vendor_specific.h %2\DAPL2 /Y/Q\r
771     xcopy udat.h %2\DAPL2 /Y/Q\r
772     xcopy udat_config.h %2\DAPL2 /Y/Q\r
773     xcopy udat_redirection.h %2\DAPL2 /Y/Q\r
774     xcopy udat_vendor_specific.h %2\DAPL2 /Y/Q\r
775     popd\r
776     pushd %1\ulp\dapl2\test\dapltest\scripts\r
777     xcopy dt-svr.bat %2\DAPL2 /Y/Q\r
778     xcopy dt-cli.bat %2\DAPL2 /Y/Q\r
779     popd\r
780 )\r
781 \r
782 rem Copy IBAL header files\r
783 if "%DBG%" == "TRUE" echo DBG: IBAL header files\r
784 if exist %1\inc (\r
785     if exist %2\inc rmdir /S/Q %2\inc\r
786     mkdir %2\Inc\r
787     pushd %1\inc\r
788     xcopy oib_ver.h %2\Inc /Y/Q\r
789     xcopy openib.def %2\Inc /Y/Q\r
790     xcopy Complib %2\Inc\Complib /I/S/Y/Q\r
791     xcopy Iba %2\Inc\Iba /I/S/Y/Q\r
792     xcopy User\Complib %2\Inc\Complib /I/S/Y/Q\r
793     xcopy User\Iba %2\Inc\Iba /I/S/Y/Q\r
794     popd\r
795 )\r
796 \r
797 rem Docs & SDK items\r
798 if "%DBG%" == "TRUE" echo DBG: Docs and SDK files\r
799 if NOT exist %2\Misc (\r
800     mkdir %2\Misc\r
801 )\r
802 copy /Y/A %1\Docs\Manual.htm %2\Misc\Manual.htm\r
803 copy /Y/A %1\tests\cmtest\user\cmtest_main.c %2\Misc\cmtest.c\r
804 \r
805 rem setup Checked Drivers & Symbols for signing and installation.\r
806 if "%DBG%" == "TRUE" echo %3 Checked Drivers+symbols\r
807 \r
808 if NOT exist %2\Chk (\r
809     mkdir %2\Chk\r
810     if ERRORLEVEL 1 (\r
811         echo "failed[%ERRORLEVEL%] mkdir %2\Chk ?"\r
812         exit /B 1\r
813     )\r
814 )\r
815 \r
816 echo "Copy Checked drivers {HCA,net,storage} to %2\Chk"\r
817 \r
818 rem copy free drivers to get directory structure plus signing files.\r
819 rem Overwrite .sys & .pdb files with checked versions.\r
820 \r
821 for %%i in ( HCA net storage ) do (\r
822     xcopy %2\%%i %2\Chk\%%i\ /S /Y /Q\r
823     if ERRORLEVEL 1 (\r
824         echo ERR on xcopy %2\%%i %2\Chk /syq\r
825         exit /B 1\r
826     )\r
827 )\r
828 \r
829 echo "Copy Checked drivers {ibbus,mthca,mlx} to %2\Chk\HCA\{amd64,ia64,x86}"\r
830 set B=%2\bin\kernel\objchk_%3\r
831 \r
832 for %%i in ( ibbus mthca ibiou mlx4_hca mlx4_bus ) do (\r
833     if exist %B%_amd64\amd64\%%i.sys (\r
834         copy /B/Y %B%_amd64\amd64\%%i.sys %2\Chk\HCA\amd64\%%i.sys\r
835         copy /B/Y %B%_amd64\amd64\%%i.pdb %2\Chk\HCA\amd64\%%i.pdb\r
836     )\r
837 \r
838     if exist %B%_ia64\ia64\%%i.sys (\r
839         copy /B/Y %B%_ia64\ia64\%%i.sys %2\Chk\HCA\ia64\%%i.sys\r
840         copy /B/Y %B%_ia64\ia64\%%i.pdb %2\Chk\HCA\ia64\%%i.pdb\r
841     )\r
842     if exist %B%_x86\i386\%%i.sys (\r
843         copy /B/Y %B%_x86\i386\%%i.sys %2\Chk\HCA\x86\%%i.sys\r
844         copy /B/Y %B%_x86\i386\%%i.pdb %2\Chk\HCA\x86\%%i.pdb\r
845     )\r
846 )\r
847 \r
848 echo "Copy Checked drivers {ipoib,qlgcvnic} to %2\Chk\net\{amd64,ia64,x86}"\r
849 for %%i in ( ipoib qlgcvnic ) do (\r
850     if exist %B%_amd64\amd64\%%i.sys (\r
851         copy /B/Y %B%_amd64\amd64\%%i.sys %2\Chk\net\amd64\%%i.sys\r
852         copy /B/Y %B%_amd64\amd64\%%i.pdb %2\Chk\net\amd64\%%i.pdb\r
853     )\r
854     if exist %B%_ia64\ia64\%%i.sys (\r
855         copy /B/Y %B%_ia64\ia64\%%i.sys %2\Chk\net\ia64\%%i.sys\r
856         copy /B/Y %B%_ia64\ia64\%%i.pdb %2\Chk\net\ia64\%%i.pdb\r
857     )\r
858     if exist %B%_x86\i386\%%i.sys (\r
859         copy /B/Y %B%_x86\i386\%%i.sys %2\Chk\net\x86\%%i.sys\r
860         copy /B/Y %B%_x86\i386\%%i.pdb %2\Chk\net\x86\%%i.pdb\r
861     )\r
862 )\r
863 \r
864 echo "Copy Checked drivers {ibsrp} to %2\Chk\storage\{amd64,ia64,x86}"\r
865 for %%i in ( ibsrp ) do (\r
866     if exist %B%_amd64\amd64\%%i.sys (\r
867         copy /B/Y %B%_amd64\amd64\%%i.sys %2\Chk\storage\amd64\%%i.sys\r
868         copy /B/Y %B%_amd64\amd64\%%i.pdb %2\Chk\storage\amd64\%%i.pdb\r
869     )\r
870     if exist %B%_ia64\ia64\%%i.sys (\r
871         copy /B/Y %B%_ia64\ia64\%%i.sys %2\Chk\storage\ia64\%%i.sys\r
872         copy /B/Y %B%_ia64\ia64\%%i.pdb %2\Chk\storage\ia64\%%i.pdb\r
873     )\r
874     if exist %B%_x86\i386\%%i.sys (\r
875         copy /B/Y %B%_x86\i386\%%i.sys %2\Chk\storage\x86\%%i.sys\r
876         copy /B/Y %B%_x86\i386\%%i.pdb %2\Chk\storage\x86\%%i.pdb\r
877     )\r
878 )\r
879 \r
880 goto end\r
881 \r
882 :usage\r
883 echo makebin src dest os\r
884 echo   src      base directory.\r
885 echo   dest     directory in which to build the installable binary tree.\r
886 echo   os   Windows version [wlh, wnet, wxp]\r
887 goto end\r
888 \r
889 :error1\r
890 echo %1\bin\kernel\objfre_%OSE%_amd64\amd64 missing \r
891 goto end\r
892 :error2\r
893 echo %1\bin\kernel\objfre_%OSE%_ia64\ia64 missing \r
894 goto end\r
895 :error3\r
896 echo %1\bin\kernel\objfre_%OSE%_x86\i386 missing \r
897 goto end\r
898 :error4\r
899 echo %1\bin\user\objfre_%OSE%_amd64\amd64 missing \r
900 goto end\r
901 :error5\r
902 echo %6\bin\user\objfre_%OSE%_ia64\ia64 missing \r
903 goto end\r
904 :error6\r
905 echo %1\bin\user\objfre_%OSE%_x86\i386 missing \r
906 goto end\r
907 :error7\r
908 echo %1\bin\user\objchk_%OSE%_amd64\amd64 missing \r
909 goto end\r
910 :error8\r
911 echo %1\bin\user\objchk_%OSE%_ia64\ia64 missing \r
912 goto end\r
913 :error9\r
914 echo %1\bin\user\objchk_%OSE%_x86\i386 missing \r
915 \r
916 :end\r
917 echo .\r
918 echo Finished OS %3\r
919 echo .\r
920 \r
921 endlocal\r