[WinOF] updated for .inf file stamping & .inf file relocation to trunk\bin path
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 17 Jul 2008 01:05:08 +0000 (01:05 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Thu, 17 Jul 2008 01:05:08 +0000 (01:05 +0000)
git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@1403 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

etc/makebin.bat

index 14578f3..43c26a3 100644 (file)
@@ -21,7 +21,8 @@ goto usage
 \r
 :os_ok\r
 \r
-if not "%4"=="" set DBG=TRUE\r
+rem if not "%4"=="" set DBG=TRUE\r
+set DBG=TRUE\r
 \r
 set OSE=%3\r
 set WdfCoInstaller=%systemdrive%\WinDDK\6001.18001\redist\wdf\r
@@ -57,13 +58,24 @@ set dest_dir=%2\HCA\amd64\
 \r
 if "%DBG%" == "TRUE" echo DBG: AMD64 free drivers to %dest_dir%\r
 \r
-for %%i in (%bin_dir%\ibbus.sys, %bin_dir%\ibiou.sys, %bin_dir%\mthca.sys,%bin_dir%\mlx4_hca.sys, %bin_dir%\mlx4_bus.sys) do xcopy %%i %dest_dir% /y\r
+set F=ibbus.sys ib_bus.inf ibiou.sys mthca.sys mlx4_hca.sys mlx4_bus.sys \r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1> nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+xcopy %WdfCoInstaller%\amd64\WdfCoInstaller01007.dll %dest_dir% /yq \r
 \r
-xcopy %WdfCoInstaller%\amd64\WdfCoInstaller01007.dll %dest_dir% /y\r
+xcopy %bin_dir%\ipoib.sys %2\net\amd64\ /yq\r
+xcopy %bin_dir%\qlgcvnic.sys %2\net\amd64\ /yq\r
+xcopy %bin_dir%\ibsrp.sys %2\storage\amd64\ /yq\r
 \r
-xcopy %bin_dir%\ipoib.sys %2\net\amd64\ /y\r
-xcopy %bin_dir%\qlgcvnic.sys %2\net\amd64\ /y\r
-xcopy %bin_dir%\ibsrp.sys %2\storage\amd64\ /y\r
+xcopy %bin_dir%\netipoib.inf %2\net\amd64\ /yq\r
+xcopy %bin_dir%\netvnic.inf %2\net\amd64\ /yq\r
+xcopy %bin_dir%\ib_srp.inf %2\storage\amd64\ /yq\r
 \r
 rem Copy IA64 drivers\r
 set bin_dir=%1\bin\kernel\objfre_%OSE%_ia64\ia64\r
@@ -71,11 +83,22 @@ set dest_dir=%2\HCA\ia64\
 \r
 if "%DBG%" == "TRUE" echo DBG: ia64 free drivers to %dest_dir%\r
 \r
-for %%i in (%bin_dir%\ibbus.sys, %bin_dir%\ibiou.sys, %bin_dir%\mthca.sys) do xcopy %%i %dest_dir% /y\r
+set F=ibbus.sys ib_bus.inf ibiou.sys mthca.sys\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+xcopy %bin_dir%\ipoib.sys %2\net\ia64\ /yq\r
+xcopy %bin_dir%\qlgcvnic.sys %2\net\ia64\ /yq\r
+xcopy %bin_dir%\ibsrp.sys %2\storage\ia64\ /yq\r
 \r
-xcopy %bin_dir%\ipoib.sys %2\net\ia64\ /y\r
-xcopy %bin_dir%\qlgcvnic.sys %2\net\ia64\ /y\r
-xcopy %bin_dir%\ibsrp.sys %2\storage\ia64\ /y\r
+xcopy %bin_dir%\netipoib.inf %2\net\ia64\ /yq\r
+xcopy %bin_dir%\netvnic.inf %2\net\ia64\ /yq\r
+xcopy %bin_dir%\ib_srp.inf %2\storage\ia64\ /yq\r
 \r
 rem Copy x86 drivers\r
 \r
@@ -86,14 +109,23 @@ if "%DBG%" == "TRUE" echo DBG: x86 free drivers
 set bin_dir=%1\bin\kernel\objfre_%OSE%_x86\i386\r
 set dest_dir=%2\HCA\x86\\r
 \r
-for %%i in (%bin_dir%\ibbus.sys, %bin_dir%\ibiou.sys, %bin_dir%\mthca.sys,%bin_dir%\mlx4_hca.sys, %bin_dir%\mlx4_bus.sys) do xcopy %%i %dest_dir% /y\r
-\r
-xcopy %WdfCoInstaller%\x86\WdfCoInstaller01007.dll %dest_dir% /y\r
+set F=ibbus.sys ib_bus.inf ibiou.sys mthca.sys mlx4_hca.sys mlx4_bus.sys\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-xcopy %bin_dir%\ipoib.sys %2\net\x86\ /y\r
-xcopy %bin_dir%\qlgcvnic.sys %2\net\x86\ /y\r
-xcopy %bin_dir%\ibsrp.sys %2\storage\x86\ /y\r
+xcopy %WdfCoInstaller%\x86\WdfCoInstaller01007.dll %dest_dir% /yq\r
 \r
+xcopy %bin_dir%\ipoib.sys %2\net\x86\ /yq\r
+xcopy %bin_dir%\qlgcvnic.sys %2\net\x86\ /yq\r
+xcopy %bin_dir%\ibsrp.sys %2\storage\x86\ /yq\r
+xcopy %bin_dir%\netipoib.inf %2\net\x86\ /yq\r
+xcopy %bin_dir%\netvnic.inf %2\net\x86\ /yq\r
+xcopy %bin_dir%\ib_srp.inf %2\storage\x86\ /yq\r
 \r
 rem Checked USER MODE\r
 \r
@@ -104,27 +136,45 @@ if "%DBG%" == "TRUE" echo DBG: amd64 Checked amd64 user-mode
 set bin_dir=%1\bin\user\objchk_%OSE%_amd64\amd64\r
 set dest_dir=%2\HCA\amd64\\r
 \r
-for %%i in (%bin_dir%\ibald.dll, %bin_dir%\complibd.dll, %bin_dir%\mthcaud.dll, %bin_dir%\IbInstaller.dll, %bin_dir%\mlx4ud.dll) do (\r
-       xcopy %%i %dest_dir% /Y /F\r
+for %%i in (ibald.dll complibd.dll mthcaud.dll IbInstaller.dll mlx4ud.dll) do (\r
+       xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
 )\r
 \r
-for %%i in (%bin_dir%\ibald.lib, %bin_dir%\ibald.pdb, %bin_dir%\complibd.lib, %bin_dir%\complibd.pdb) do xcopy %%i %dest_dir% /y /f\r
+echo xcopy %bin_dir%\*.exe %2\tools\amd64\debug\ /yq\r
+xcopy %bin_dir%\*.exe %2\tools\amd64\debug\ /yq 1>nul\r
 \r
-xcopy %bin_dir%\*.exe %2\tools\amd64\debug\ /y\r
+set F=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb\r
 \r
-xcopy %bin_dir%\dapld.dll  %2\DAPL\amd64\ /yq\r
-xcopy %bin_dir%\dapld.pdb  %2\DAPL\amd64\ /yq\r
-xcopy %bin_dir%\datd.dll   %2\DAPL\amd64\ /yq\r
-xcopy %bin_dir%\datd.lib   %2\DAPL\amd64\ /yq\r
-xcopy %bin_dir%\datd.pdb   %2\DAPL\amd64\ /yq\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+set F=dapl2d.dll dapl2d.pdb dapl2-scmd.dll dapl2-scmd.pdb dat2d.dll dat2d.lib dat2d.pdb\r
+\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-xcopy %bin_dir%\dapl2d.dll %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dapl2d.pdb %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dapl2-scmd.dll %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dapl2-scmd.pdb %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dat2d.dll  %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dat2d.lib  %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dat2d.pdb  %2\DAPL2\amd64\ /yq\r
 \r
 rem Copy checked IA64 dlls\r
 \r
@@ -133,25 +183,44 @@ if "%DBG%" == "TRUE" echo DBG: ia64 Checked dlls
 set bin_dir=%1\bin\user\objchk_%OSE%_ia64\ia64\r
 set dest_dir=%2\HCA\ia64\\r
 \r
-for %%i in (%bin_dir%\ibald.dll, %bin_dir%\complibd.dll, %bin_dir%\mthcaud.dll, %bin_dir%\IbInstaller.dll) do xcopy %%i %dest_dir% /y /f\r
+for %%i in (ibald.dll complibd.dll mthcaud.dll IbInstaller.dll) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-for %%i in (%bin_dir%\ibald.lib, %bin_dir%\ibald.pdb, %bin_dir%\complibd.lib, %bin_dir%\complibd.pdb) do xcopy %%i %dest_dir% /y /f\r
+for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-xcopy %bin_dir%\*.exe %2\tools\ia64\debug\ /y\r
+echo xcopy %bin_dir%\*.exe %2\tools\ia64\debug\ /yq \r
+xcopy %bin_dir%\*.exe %2\tools\ia64\debug\ /yq 1>nul\r
 \r
-xcopy %bin_dir%\dapld.dll   %2\DAPL\ia64\ /yq\r
-xcopy %bin_dir%\dapld.pdb   %2\DAPL\ia64\ /yq\r
-xcopy %bin_dir%\datd.dll    %2\DAPL\ia64\ /yq\r
-xcopy %bin_dir%\datd.lib    %2\DAPL\ia64\ /yq\r
-xcopy %bin_dir%\datd.pdb    %2\DAPL\ia64\ /yq\r
+set F=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb\r
 \r
-xcopy %bin_dir%\dapl2d.dll  %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dapl2d.pdb  %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dapl2-scmd.dll  %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dapl2-scmd.pdb  %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dat2d.dll   %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dat2d.lib   %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dat2d.pdb   %2\DAPL2\ia64\ /yq\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+set F=dapl2d.dll dapl2d.pdb dapl2-scmd.dll dapl2-scmd.pdb dat2d.dll dat2d.lib dat2d.pdb\r
+\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
 \r
 rem checked x86 user mode\r
@@ -163,93 +232,133 @@ if "%DBG%" == "TRUE" echo DBG: x86 Checked user-mode dlls
 set bin_dir=%1\bin\user\objchk_%OSE%_x86\i386\r
 set dest_dir=%2\HCA\x86\\r
 \r
-for %%i in (%bin_dir%\ibald.dll, %bin_dir%\complibd.dll, %bin_dir%\mthcaud.dll, %bin_dir%\IbInstaller.dll,%bin_dir%\mlx4ud.dll) do xcopy %%i %dest_dir% /y /f\r
+for %%i in (ibald.dll complibd.dll mthcaud.dll mlx4ud.dll) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-for %%i in (%bin_dir%\ibald.lib, %bin_dir%\ibald.pdb, %bin_dir%\complibd.lib, %bin_dir%\complibd.pdb) do xcopy %%i %dest_dir% /y /f\r
+echo xcopy %bin_dir%\*.exe %2\tools\x86\debug\ /yq\r
+xcopy %bin_dir%\*.exe %2\tools\x86\debug\ /yq 1>nul\r
 \r
-xcopy %bin_dir%\*.exe %2\tools\x86\debug\ /y /f\r
+set F=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb\r
 \r
-xcopy %bin_dir%\dapld.dll   %2\DAPL\x86\ /yq\r
-xcopy %bin_dir%\dapld.pdb   %2\DAPL\x86\ /yq\r
-xcopy %bin_dir%\datd.dll    %2\DAPL\x86\ /yq\r
-xcopy %bin_dir%\datd.lib    %2\DAPL\x86\ /yq\r
-xcopy %bin_dir%\datd.pdb    %2\DAPL\x86\ /yq\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-xcopy %bin_dir%\dapl2d.dll  %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dapl2d.pdb  %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dapl2-scmd.dll  %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dapl2-scmd.pdb  %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dat2d.dll   %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dat2d.lib   %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dat2d.pdb   %2\DAPL2\x86\ /yq\r
+set F=dapl2d.dll dapl2d.pdb dapl2-scmd.dll dapl2-scmd.pdb dat2d.dll dat2d.lib dat2d.pdb\r
 \r
-copy /B %bin_dir%\installsp.exe %2\tools\x86\debug\ /y\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
+copy /B %bin_dir%\installsp.exe %2\tools\x86\debug\ /y 1>nul\r
 \r
 if /I "%OSE%" == "wxp" goto wxp_free_drv\r
 \r
 rem checked x86 DLLs --> WOW64 DLLs\r
 \r
-if "%DBG%" == "TRUE" echo DBG: x86 Checked dlls to WOW64 dlls\r
+if "%DBG%" == "TRUE" echo DBG: x86 Checked dlls copy to WOW64 dlls\r
 \r
 rem xcopy had problems determining if dest was File | Dir ??\r
 \r
-copy /B %bin_dir%\ibald.dll %2\HCA\amd64\ibal32d.dll /y\r
-copy /B %bin_dir%\ibald.lib %2\HCA\amd64\ibal32d.lib /y\r
-copy /B %bin_dir%\ibald.pdb %2\HCA\amd64\ibal32d.pdb /y\r
-copy /B %bin_dir%\complibd.dll %2\HCA\amd64\cl32d.dll /y\r
-copy /B %bin_dir%\complibd.lib %2\HCA\amd64\cl32d.lib /y\r
-copy /B %bin_dir%\complibd.pdb %2\HCA\amd64\cl32d.pdb /y\r
-copy /B %bin_dir%\ibald.dll %2\HCA\ia64\ibal32d.dll /y\r
-copy /B %bin_dir%\ibald.lib %2\HCA\ia64\ibal32d.lib /y\r
-copy /B %bin_dir%\ibald.pdb %2\HCA\ia64\ibal32d.pdb /y\r
-copy /B %bin_dir%\complibd.dll %2\HCA\ia64\cl32d.dll /y\r
-copy /B %bin_dir%\complibd.lib %2\HCA\ia64\cl32d.lib /y\r
-copy /B %bin_dir%\complibd.pdb %2\HCA\ia64\cl32d.pdb /y\r
-\r
-copy /B %bin_dir%\mthcaud.dll %2\HCA\amd64\mthca32d.dll /y\r
-copy /B %bin_dir%\mthcaud.dll %2\HCA\ia64\mthca32d.dll /y\r
-\r
-copy /B %bin_dir%\mlx4ud.dll %2\HCA\amd64\mlx4u32d.dll /y\r
-rem copy /B %bin_dir%\mlx4ud.dll %2\HCA\ia64\mlx4u32d.dll /y\r
-\r
-copy /B %bin_dir%\dapld.dll  %2\DAPL\amd64\dapl32d.dll /y\r
-copy /B %bin_dir%\datd.dll   %2\DAPL\amd64\dat32d.dll /y\r
-copy /B %bin_dir%\dapld.dll  %2\DAPL\ia64\dapl32d.dll /y\r
-copy /B %bin_dir%\datd.dll   %2\DAPL\ia64\dat32d.dll /y\r
-\r
-copy /B %bin_dir%\dapl2d.dll %2\DAPL2\amd64\dapl232d.dll /y\r
-copy /B %bin_dir%\dat2d.dll  %2\DAPL2\amd64\dat232d.dll /y\r
-copy /B %bin_dir%\dapl2d.dll %2\DAPL2\ia64\dapl232d.dll /y\r
-copy /B %bin_dir%\dat2d.dll  %2\DAPL2\ia64\dat232d.dll /y\r
+copy /B %bin_dir%\ibald.dll %2\HCA\amd64\ibal32d.dll /y \r
+copy /B %bin_dir%\ibald.lib %2\HCA\amd64\ibal32d.lib /y \r
+copy /B %bin_dir%\ibald.pdb %2\HCA\amd64\ibal32d.pdb /y \r
+copy /B %bin_dir%\complibd.dll %2\HCA\amd64\cl32d.dll /y \r
+copy /B %bin_dir%\complibd.lib %2\HCA\amd64\cl32d.lib /y \r
+copy /B %bin_dir%\complibd.pdb %2\HCA\amd64\cl32d.pdb /y \r
 \r
-rem Copy Free x64 dll\r
+copy /B %bin_dir%\ibald.dll %2\HCA\ia64\ibal32d.dll /y \r
+copy /B %bin_dir%\ibald.lib %2\HCA\ia64\ibal32d.lib /y \r
+copy /B %bin_dir%\ibald.pdb %2\HCA\ia64\ibal32d.pdb /y \r
+copy /B %bin_dir%\complibd.dll %2\HCA\ia64\cl32d.dll /y \r
+copy /B %bin_dir%\complibd.lib %2\HCA\ia64\cl32d.lib /y \r
+copy /B %bin_dir%\complibd.pdb %2\HCA\ia64\cl32d.pdb /y \r
 \r
-if "%DBG%" == "TRUE" echo DBG: amd64 Free dll\r
+copy /B %bin_dir%\mthcaud.dll %2\HCA\amd64\mthca32d.dll /y \r
+copy /B %bin_dir%\mthcaud.dll %2\HCA\ia64\mthca32d.dll /y \r
+\r
+copy /B %bin_dir%\mlx4ud.dll %2\HCA\amd64\mlx4u32d.dll /y \r
+rem when ConnectX on ia64 works copy /B %bin_dir%\mlx4ud.dll %2\HCA\ia64\mlx4u32d.dll /y\r
+\r
+copy /B %bin_dir%\dapld.dll  %2\DAPL\amd64\dapl32d.dll /y \r
+copy /B %bin_dir%\datd.dll   %2\DAPL\amd64\dat32d.dll /y \r
+copy /B %bin_dir%\dapld.dll  %2\DAPL\ia64\dapl32d.dll /y \r
+copy /B %bin_dir%\datd.dll   %2\DAPL\ia64\dat32d.dll /y \r
+\r
+copy /B %bin_dir%\dapl2d.dll %2\DAPL2\amd64\dapl232d.dll /y \r
+copy /B %bin_dir%\dat2d.dll  %2\DAPL2\amd64\dat232d.dll /y \r
+copy /B %bin_dir%\dapl2d.dll %2\DAPL2\ia64\dapl232d.dll /y \r
+copy /B %bin_dir%\dat2d.dll  %2\DAPL2\ia64\dat232d.dll /y \r
+\r
+rem Copy Free x64 dll\r
 \r
 set bin_dir=%1\bin\user\objfre_%OSE%_amd64\amd64\r
 set dest_dir=%2\HCA\amd64\\r
 \r
-for %%i in (%bin_dir%\ibal.dll, %bin_dir%\complib.dll, %bin_dir%\mthcau.dll, %bin_dir%\IbInstaller.dll,%bin_dir%\mlx4u.dll) do xcopy %%i %dest_dir% /y\r
+if "%DBG%" == "TRUE" echo DBG: amd64 Free dlls to %dest_dir%\r
+\r
+for %%i in (ibal.dll complib.dll mthcau.dll IbInstaller.dll mlx4u.dll) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /y\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+xcopy %bin_dir%\ibwsd.dll %2\net\amd64\ /yq\r
+xcopy %bin_dir%\installsp.exe %2\net\amd64\ /yq \r
+\r
+echo xcopy %bin_dir%\*.exe %2\tools\amd64\release\ /y \r
+xcopy %bin_dir%\*.exe %2\tools\amd64\release\ /yq 1>nul\r
 \r
-for %%i in (%bin_dir%\ibal.lib, %bin_dir%\ibal.pdb, %bin_dir%\complib.lib, %bin_dir%\complib.pdb) do xcopy %%i %dest_dir% /yq\r
+set F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb\r
 \r
-xcopy %bin_dir%\ibwsd.dll %2\net\amd64\ /y\r
-xcopy %bin_dir%\installsp.exe %2\net\amd64\ /y\r
-xcopy %bin_dir%\*.exe %2\tools\amd64\release\ /y\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+set F=dapl2.dll dapl2.pdb dapl2-scm.dll dapl2-scm.pdb dat2.dll dat2.lib dat2.pdb\r
 \r
-xcopy %bin_dir%\dapl.dll  %2\DAPL\amd64\ /yq\r
-xcopy %bin_dir%\dapl.pdb  %2\DAPL\amd64\ /yq\r
-xcopy %bin_dir%\dat.dll   %2\DAPL\amd64\ /yq\r
-xcopy %bin_dir%\dat.lib   %2\DAPL\amd64\ /yq\r
-xcopy %bin_dir%\dat.pdb   %2\DAPL\amd64\ /yq\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-xcopy %bin_dir%\dapl2.dll %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dapl2.pdb %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dapl2-scm.dll %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dapl2-scm.pdb %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dat2.dll  %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dat2.lib  %2\DAPL2\amd64\ /yq\r
-xcopy %bin_dir%\dat2.pdb  %2\DAPL2\amd64\ /yq\r
 \r
 rem Copy Free IA64 dlls\r
 \r
@@ -258,27 +367,48 @@ set dest_dir=%2\HCA\ia64\
 \r
 if "%DBG%" == "TRUE" echo DBG: IA64 Free dlls to %dest_dir%\r
 \r
-for %%i in (%bin_dir%\ibal.dll, %bin_dir%\complib.dll, %bin_dir%\mthcau.dll, %bin_dir%\IbInstaller.dll) do xcopy %%i %dest_dir% /y\r
+for %%i in (ibal.dll complib.dll mthcau.dll IbInstaller.dll) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+xcopy %bin_dir%\ibwsd.dll %2\net\ia64\ /yq\r
+xcopy %bin_dir%\installsp.exe %2\net\ia64\ /yq\r
+\r
+echo xcopy %bin_dir%\*.exe %2\tools\ia64\release\ /y q\r
+xcopy %bin_dir%\*.exe %2\tools\ia64\release\ /yq 1>nul\r
 \r
-for %%i in (%bin_dir%\ibal.lib, %bin_dir%\ibal.pdb, %bin_dir%\complib.lib, %bin_dir%\complib.pdb) do xcopy %%i %dest_dir% /yq\r
+set F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb \r
 \r
-xcopy %bin_dir%\ibwsd.dll %2\net\ia64\ /y\r
-xcopy %bin_dir%\installsp.exe %2\net\ia64\ /y\r
-xcopy %bin_dir%\*.exe %2\tools\ia64\release\ /y\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+set F=dapl2.dll dapl2.pdb dapl2-scm.dll dapl2-scm.pdb dat2.dll dat2.lib dat2.pdb\r
 \r
-xcopy %bin_dir%\dapl.dll  %2\DAPL\ia64\ /yq\r
-xcopy %bin_dir%\dapl.pdb  %2\DAPL\ia64\ /yq\r
-xcopy %bin_dir%\dat.dll   %2\DAPL\ia64\ /yq\r
-xcopy %bin_dir%\dat.lib   %2\DAPL\ia64\ /yq\r
-xcopy %bin_dir%\dat.pdb   %2\DAPL\ia64\ /yq\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-xcopy %bin_dir%\dapl2.dll %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dapl2.pdb %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dapl2-scm.dll %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dapl2-scm.pdb %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dat2.dll  %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dat2.lib  %2\DAPL2\ia64\ /yq\r
-xcopy %bin_dir%\dat2.pdb  %2\DAPL2\ia64\ /yq\r
 \r
 rem Copy Free x86 drivers\r
 \r
@@ -289,24 +419,44 @@ set dest_dir=%2\HCA\x86\
 \r
 if "%DBG%" == "TRUE" echo DBG: x86 Free dlls to %dest_dir%\r
 \r
-for %%i in (%bin_dir%\ibal.dll, %bin_dir%\complib.dll, %bin_dir%\mthcau.dll, %bin_dir%\IbInstaller.dll,%bin_dir%\mlx4u.dll) do xcopy %%i %dest_dir% /y\r
+for %%i in (ibal.dll complib.dll mthcau.dll IbInstaller.dll mlx4u.dll) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-for %%i in (%bin_dir%\ibal.lib, %bin_dir%\ibal.pdb, %bin_dir%\complib.lib, %bin_dir%\complib.pdb) do xcopy %%i %dest_dir% /yq\r
+for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do (\r
+    xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq\r
+        exit /B 1\r
+    )\r
+)\r
+\r
+echo xcopy %bin_dir%\*.exe %2\tools\x86\release\ /yq\r
+xcopy %bin_dir%\*.exe %2\tools\x86\release\ /yq 1>nul\r
+\r
+set F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb\r
+\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
-xcopy %bin_dir%\*.exe %2\tools\x86\release\ /y\r
-xcopy %bin_dir%\dapl.dll  %2\DAPL\x86\ /yq\r
-xcopy %bin_dir%\dapl.pdb  %2\DAPL\x86\ /yq\r
-xcopy %bin_dir%\dat.dll   %2\DAPL\x86\ /yq\r
-xcopy %bin_dir%\dat.lib   %2\DAPL\x86\ /yq\r
-xcopy %bin_dir%\dat.pdb   %2\DAPL\x86\ /yq\r
+set F=dapl2.dll dapl2.pdb dapl2-scm.dll dapl2-scm.pdb dat2.dll dat2.lib dat2.pdb\r
 \r
-xcopy %bin_dir%\dapl2.dll %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dapl2.pdb %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dapl2-scm.dll %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dapl2-scm.pdb %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dat2.dll  %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dat2.lib  %2\DAPL2\x86\ /yq\r
-xcopy %bin_dir%\dat2.pdb  %2\DAPL2\x86\ /yq\r
+for %%i in ( %F% ) do (\r
+    xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq 1>nul\r
+    if ERRORLEVEL 1 (\r
+        echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq\r
+        exit /B 1\r
+    )\r
+)\r
 \r
 \r
 if /I "%OSE%" == "wxp" goto inf_files\r
@@ -342,7 +492,7 @@ copy /B %bin_dir%\mthcau.dll %2\HCA\amd64\mthca32.dll /y
 copy /B %bin_dir%\mthcau.dll %2\HCA\ia64\mthca32.dll /y\r
 \r
 copy /B %bin_dir%\mlx4u.dll %2\HCA\amd64\mlx4u32.dll /y\r
-rem copy /B %bin_dir%\mlx4u.dll %2\HCA\ia64\mlx4u32.dll /y\r
+rem add when ConnectX on ia64 works copy /B %bin_dir%\mlx4u.dll %2\HCA\ia64\mlx4u32.dll /y\r
 \r
 copy /B %bin_dir%\dapl.dll %2\DAPL\amd64\dapl32.dll /y\r
 copy /B %bin_dir%\dat.dll %2\DAPL\amd64\dat32.dll /y\r
@@ -355,82 +505,76 @@ copy /B %bin_dir%\dapl2.dll %2\DAPL2\ia64\dapl232.dll /y
 copy /B %bin_dir%\dat2.dll %2\DAPL2\ia64\dat232.dll /y\r
 \r
 \r
-rem Copy INF files to arch specific dirs - WHQL reasons\r
+rem Copy .cdf files to arch specific dirs for Driver signing\r
+rem .inf files now resident alongside .sys files\r
 \r
 :inf_files\r
 \r
-if "%DBG%" == "TRUE" echo DBG: copy x86 INF files\r
+if "%DBG%" == "TRUE" echo DBG: cpy %OSE% x86 INF files\r
 \r
-rem .inf files needs mods before arch specific dest change.\r
-xcopy %1\hw\mthca\kernel\mthca.inf %2\HCA\x86 /y\r
-xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\x86 /y\r
-xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.inf %2\HCA\x86 /y\r
-xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\x86 /y\r
-xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.inf %2\HCA\x86 /y\r
-xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\x86 /y\r
+xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\x86\ /yq\r
+xcopy %1\hw\mthca\kernel\mthca.inf %2\HCA\x86\ /yq\r
+xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.inf %2\HCA\x86\ /yq\r
+xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\x86\ /yq\r
+xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.inf %2\HCA\x86\ /yq\r
+xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\x86\ /yq\r
 \r
-rem Filter driver support\r
-rem xcopy %1\core\bus\kernel\ib_bus.inf %2\HCA\x86 /y\r
-rem xcopy %1\core\bus\kernel\ib_bus.cdf %2\HCA\x86 /y\r
+xcopy %1\core\bus\kernel\ib_bus.cdf %2\HCA\x86\ /yq\r
 \r
-rem No WSD support for XP/32\r
+rem No WSD support for XP32\r
 if /I "%OSE%" == "wxp" (\r
     copy /A /Y %1\ulp\ipoib\kernel\netipoib-xp32.inf %2\net\x86\netipoib.inf\r
     copy /A /Y %1\ulp\ipoib\kernel\ipoib-xp32.cdf %2\net\x86\ipoib.cdf\r
 ) else (\r
-    xcopy %1\ulp\ipoib\kernel\netipoib.inf %2\net\x86 /y\r
-    xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\x86 /y\r
-    xcopy %1\tools\wsdinstall\user\installsp.exe.manifest %2\net\x86 /y\r
+    xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\x86\ /yq\r
+    xcopy %1\tools\wsdinstall\user\installsp.exe.manifest %2\net\x86\ /yq\r
 )\r
-xcopy %1\ulp\qlgcvnic\kernel\netvnic.inf %2\net\x86 /y\r
-xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\x86 /y\r
-xcopy %1\ulp\srp\kernel\ib_srp.inf %2\storage\x86 /y\r
-xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\x86 /y\r
+xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\x86\ /yq\r
+xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\x86\ /yq\r
+\r
 \r
 if /I "%OSE%" == "wxp" goto cpy_bin_files\r
 \r
 if "%DBG%" == "TRUE" echo DBG: copy 64bit INF files\r
 \r
-xcopy %1\hw\mthca\kernel\mthca.inf %2\HCA\amd64 /y\r
-xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\amd64 /y\r
-xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.inf %2\HCA\amd64 /y\r
-xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\amd64 /y\r
-xcopy %1\hw\mlx4\kernel\hca\mlx4_hca32.cdf %2\HCA\amd64 /y\r
-xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.inf %2\HCA\amd64 /y\r
-xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\amd64 /y\r
-xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus32.cdf %2\HCA\amd64 /y\r
-\r
-rem xcopy %1\core\bus\kernel\ib_bus.inf %2\HCA\amd64 /y\r
-rem xcopy %1\core\bus\kernel\ib_bus.cdf %2\HCA\amd64 /y\r
-\r
-xcopy %1\ulp\ipoib\kernel\netipoib.inf %2\net\amd64 /y\r
-xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\amd64 /y\r
-xcopy %1\ulp\qlgcvnic\kernel\netvnic.inf %2\net\amd64 /y\r
-xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\amd64 /y\r
-xcopy %1\tools\wsdinstall\user\installsp.exe.manifest %2\net\amd64 /y\r
-xcopy %1\ulp\srp\kernel\ib_srp.inf %2\storage\amd64 /y\r
-xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\amd64 /y\r
-\r
-xcopy %1\hw\mthca\kernel\mthca.inf %2\HCA\ia64 /y\r
-xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\ia64 /y\r
-rem xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.inf %2\HCA\ia64 /y\r
-rem xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\ia64 /y\r
-rem xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.inf %2\HCA\ia64 /y\r
-rem xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\ia64 /y\r
-rem xcopy %1\core\bus\kernel\ib_bus.inf %2\HCA\ia64 /y\r
-rem xcopy %1\core\bus\kernel\ib_bus.cdf %2\HCA\ia64 /y\r
-xcopy %1\ulp\ipoib\kernel\netipoib.inf %2\net\ia64 /y\r
-xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\ia64 /y\r
-xcopy %1\ulp\qlgcvnic\kernel\netvnic.inf %2\net\ia64 /y\r
-xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\ia64 /y\r
-xcopy %1\tools\wsdinstall\user\installsp.exe.manifest %2\net\ia64 /y\r
-xcopy %1\ulp\srp\kernel\ib_srp.inf %2\storage\ia64 /y\r
-xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\ia64 /y\r
+xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\amd64 /yq\r
+xcopy %1\hw\mthca\kernel\mthca.inf %2\HCA\amd64 /yq\r
+\r
+xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.inf %2\HCA\amd64\ /yq\r
+xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\amd64\ /yq\r
+xcopy %1\hw\mlx4\kernel\hca\mlx4_hca32.cdf %2\HCA\amd64\ /yq\r
+xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.inf %2\HCA\amd64\ /yq\r
+xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\amd64\ /yq\r
+xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus32.cdf %2\HCA\amd64\ /yq\r
+\r
+xcopy %1\core\bus\kernel\ib_bus.cdf %2\HCA\amd64\ /yq\r
+\r
+xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\amd64\ /yq\r
+xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\amd64\ /yq\r
+xcopy %1\tools\wsdinstall\user\installsp.exe.manifest %2\net\amd64\ /yq\r
+xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\amd64\ /yq\r
+\r
+\r
+rem When ConnectX works for ia64\r
+rem xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.inf %2\HCA\ia64\ /yq\r
+rem xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\ia64\ /yq\r
+rem xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.inf %2\HCA\ia64\ /yq\r
+rem xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\ia64\ /yq\r
+\r
+xcopy %1\core\bus\kernel\ib_bus.cdf %2\HCA\ia64\ /yq\r
+xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\ia64\ /yq\r
+xcopy %1\hw\mthca\kernel\mthca.inf %2\HCA\ia64\ /yq\r
+\r
+xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\ia64\ /yq\r
+xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\ia64\ /yq\r
+xcopy %1\tools\wsdinstall\user\installsp.exe.manifest %2\net\ia64\ /yq\r
+xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\ia64\ /yq\r
 \r
 \r
 :cpy_bin_files\r
 \r
 rem bin\bin used to generate a web based symbol store in build-ofa-dist.bat.\r
+\r
 echo 'Copy bin\obj{chk,fre}_%3_{x86,amd64,ia64} to %2\bin'\r
 rem xcopy %1\bin %2\bin\ /eyq\r
 rem instead of copying the entire bin\ folder, pick items of OS interest.\r