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