@echo off setlocal rem usage: makebin src dst [wlh,wnet,wxp] rem rem src - OpenIB src path ...\gen1\trunk rem dst - full path tp where binaries are copied, 'bin\' created here. rem OSE - (Operating System Environment) which windows version {wxp,wlh,wnet} rem representing {XP, server 2008 & server 2003} rem makebin is designed to take an openIB build tree path and produce a folder rem tree of binaries suitable for input to a WIX builder which procduces rem an OS .msi installer. rem Building a WinOF release is done is 3 phases, makebin is the 2nd phase. rem makebin is commonly run from trunk\buildrelease.bat although it can be rem run standalone. echo Starting makebin echo Src %1 echo Dst %2 echo OS %3 if "%1"=="" goto usage if "%2"=="" goto usage if "%3"=="" goto usage if /I "%3"=="wlh" goto os_ok if /I "%3"=="wnet" goto os_ok if /I "%3"=="wxp" goto os_ok echo %0: Err - Invalid OS type '%3' ? goto usage :os_ok rem if not "%4"=="" set DBG=TRUE set DBG=TRUE set OSE=%3 set WdfCoInstaller=%systemdrive%\WinDDK\6001.18001\redist\wdf if not exist %1 goto usage if not exist %2 goto usage if /I "%OSE%" == "wxp" ( if not exist %1\bin\kernel\objfre_%OSE%_x86\i386 goto error3 if not exist %1\bin\user\objfre_%OSE%_x86\i386 goto error6 if not exist %1\bin\user\objchk_%OSE%_x86\i386 goto error9 ) else ( if not exist %1\bin\kernel\objfre_%OSE%_amd64\amd64 goto error1 if not exist %1\bin\kernel\objfre_%OSE%_ia64\ia64 goto error2 if not exist %1\bin\kernel\objfre_%OSE%_x86\i386 goto error3 if not exist %1\bin\user\objfre_%OSE%_amd64\amd64 goto error4 if not exist %1\bin\user\objfre_%OSE%_ia64\ia64 goto error5 if not exist %1\bin\user\objfre_%OSE%_x86\i386 goto error6 if not exist %1\bin\user\objchk_%OSE%_amd64\amd64 goto error7 if not exist %1\bin\user\objchk_%OSE%_ia64\ia64 goto error8 if not exist %1\bin\user\objchk_%OSE%_x86\i386 goto error9 ) rem rem KERNEL MODE rem if /I "%OSE%" == "wxp" goto wxp_drv rem Copy AMD64 drivers set bin_dir=%1\bin\kernel\objfre_%OSE%_amd64\amd64 set dest_dir=%2\HCA\amd64\ if "%DBG%" == "TRUE" echo DBG: AMD64 free drivers set F=ibbus.sys ib_bus.inf ibiou.sys ib_iou.inf mthca.sys mthca.inf mlx4_hca.sys mlx4_bus.sys mlx4_hca.inf mlx4_bus.inf for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1> nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) xcopy %WdfCoInstaller%\amd64\WdfCoInstaller01007.dll %dest_dir% /yq xcopy %bin_dir%\ipoib.sys %2\net\amd64\ /yq xcopy %bin_dir%\qlgcvnic.sys %2\net\amd64\ /yq xcopy %bin_dir%\ibsrp.sys %2\storage\amd64\ /yq xcopy %bin_dir%\netipoib.inf %2\net\amd64\ /yq xcopy %bin_dir%\netvnic.inf %2\net\amd64\ /yq xcopy %bin_dir%\ib_srp.inf %2\storage\amd64\ /yq rem Copy IA64 drivers set bin_dir=%1\bin\kernel\objfre_%OSE%_ia64\ia64 set dest_dir=%2\HCA\ia64\ if "%DBG%" == "TRUE" echo DBG: ia64 free drivers set F=ibbus.sys ib_bus.inf ibiou.sys ib_iou.inf mthca.sys mthca.inf for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) xcopy %bin_dir%\ipoib.sys %2\net\ia64\ /yq xcopy %bin_dir%\qlgcvnic.sys %2\net\ia64\ /yq xcopy %bin_dir%\ibsrp.sys %2\storage\ia64\ /yq xcopy %bin_dir%\netipoib.inf %2\net\ia64\ /yq xcopy %bin_dir%\netvnic.inf %2\net\ia64\ /yq xcopy %bin_dir%\ib_srp.inf %2\storage\ia64\ /yq rem Copy x86 drivers :wxp_drv if "%DBG%" == "TRUE" echo DBG: x86 free drivers set bin_dir=%1\bin\kernel\objfre_%OSE%_x86\i386 set dest_dir=%2\HCA\x86\ set F=ibbus.sys ib_bus.inf ibiou.sys ib_iou.inf mthca.sys mthca.inf mlx4_hca.sys mlx4_bus.sys mlx4_hca.inf mlx4_bus.inf for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) xcopy %WdfCoInstaller%\x86\WdfCoInstaller01007.dll %dest_dir% /yq xcopy %bin_dir%\ipoib.sys %2\net\x86\ /yq xcopy %bin_dir%\qlgcvnic.sys %2\net\x86\ /yq xcopy %bin_dir%\ibsrp.sys %2\storage\x86\ /yq xcopy %bin_dir%\netipoib.inf %2\net\x86\ /yq xcopy %bin_dir%\netvnic.inf %2\net\x86\ /yq xcopy %bin_dir%\ib_srp.inf %2\storage\x86\ /yq rem Checked USER MODE if /I "%OSE%" == "wxp" goto wxp_userm if "%DBG%" == "TRUE" echo DBG: amd64 Checked amd64 user-mode set bin_dir=%1\bin\user\objchk_%OSE%_amd64\amd64 set dest_dir=%2\HCA\amd64\ for %%i in (ibald.dll complibd.dll mthcaud.dll IbInstaller.dll mlx4ud.dll) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) echo xcopy *.exe tools\amd64\debug\ xcopy %bin_dir%\*.exe %2\tools\amd64\debug\ /yq 1>nul set F=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq exit /B 1 ) ) set F=dapl2d.dll dapl2d.pdb dapl2-scmd.dll dapl2-scmd.pdb dat2d.dll dat2d.lib dat2d.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq exit /B 1 ) ) rem Copy checked IA64 dlls if "%DBG%" == "TRUE" echo DBG: ia64 Checked dlls set bin_dir=%1\bin\user\objchk_%OSE%_ia64\ia64 set dest_dir=%2\HCA\ia64\ for %%i in (ibald.dll complibd.dll mthcaud.dll IbInstaller.dll) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) echo xcopy *.exe tools\ia64\debug\ xcopy %bin_dir%\*.exe %2\tools\ia64\debug\ /yq 1>nul set F=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq exit /B 1 ) ) set F=dapl2d.dll dapl2d.pdb dapl2-scmd.dll dapl2-scmd.pdb dat2d.dll dat2d.lib dat2d.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq exit /B 1 ) ) rem checked x86 user mode :wxp_userm if "%DBG%" == "TRUE" echo DBG: x86 Checked user-mode dlls set bin_dir=%1\bin\user\objchk_%OSE%_x86\i386 set dest_dir=%2\HCA\x86\ for %%i in (ibald.dll complibd.dll mthcaud.dll mlx4ud.dll) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) for %%i in (ibald.lib ibald.pdb complibd.lib complibd.pdb) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) if "%DBG%" == "TRUE" echo DBG: copy debug *.exe to tools\x86\debug\ xcopy %bin_dir%\*.exe %2\tools\x86\debug\ /yq 1>nul set F=dapld.dll dapld.pdb datd.dll datd.lib datd.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq exit /B 1 ) ) set F=dapl2d.dll dapl2d.pdb dapl2-scmd.dll dapl2-scmd.pdb dat2d.dll dat2d.lib dat2d.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq exit /B 1 ) ) copy /B %bin_dir%\installsp.exe %2\tools\x86\debug\ /y 1>nul if /I "%OSE%" == "wxp" goto wxp_free_drv rem checked x86 DLLs --> WOW64 DLLs if "%DBG%" == "TRUE" echo DBG: x86 Checked dlls copy to WOW64 dlls rem xcopy had problems determining if dest was File | Dir ?? copy /B %bin_dir%\ibald.dll %2\HCA\amd64\ibal32d.dll /y copy /B %bin_dir%\ibald.lib %2\HCA\amd64\ibal32d.lib /y copy /B %bin_dir%\ibald.pdb %2\HCA\amd64\ibal32d.pdb /y copy /B %bin_dir%\complibd.dll %2\HCA\amd64\cl32d.dll /y copy /B %bin_dir%\complibd.lib %2\HCA\amd64\cl32d.lib /y copy /B %bin_dir%\complibd.pdb %2\HCA\amd64\cl32d.pdb /y copy /B %bin_dir%\ibald.dll %2\HCA\ia64\ibal32d.dll /y copy /B %bin_dir%\ibald.lib %2\HCA\ia64\ibal32d.lib /y copy /B %bin_dir%\ibald.pdb %2\HCA\ia64\ibal32d.pdb /y copy /B %bin_dir%\complibd.dll %2\HCA\ia64\cl32d.dll /y copy /B %bin_dir%\complibd.lib %2\HCA\ia64\cl32d.lib /y copy /B %bin_dir%\complibd.pdb %2\HCA\ia64\cl32d.pdb /y copy /B %bin_dir%\mthcaud.dll %2\HCA\amd64\mthca32d.dll /y copy /B %bin_dir%\mthcaud.dll %2\HCA\ia64\mthca32d.dll /y copy /B %bin_dir%\mlx4ud.dll %2\HCA\amd64\mlx4u32d.dll /y rem when ConnectX on ia64 works copy /B %bin_dir%\mlx4ud.dll %2\HCA\ia64\mlx4u32d.dll /y copy /B %bin_dir%\dapld.dll %2\DAPL\amd64\dapl32d.dll /y copy /B %bin_dir%\datd.dll %2\DAPL\amd64\dat32d.dll /y copy /B %bin_dir%\dapld.dll %2\DAPL\ia64\dapl32d.dll /y copy /B %bin_dir%\datd.dll %2\DAPL\ia64\dat32d.dll /y copy /B %bin_dir%\dapl2d.dll %2\DAPL2\amd64\dapl232d.dll /y copy /B %bin_dir%\dat2d.dll %2\DAPL2\amd64\dat232d.dll /y copy /B %bin_dir%\dapl2d.dll %2\DAPL2\ia64\dapl232d.dll /y copy /B %bin_dir%\dat2d.dll %2\DAPL2\ia64\dat232d.dll /y rem Copy Free x64 dll set bin_dir=%1\bin\user\objfre_%OSE%_amd64\amd64 set dest_dir=%2\HCA\amd64\ if "%DBG%" == "TRUE" echo DBG: copy amd64 Free dlls for %%i in (ibal.dll complib.dll mthcau.dll IbInstaller.dll mlx4u.dll) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /y exit /B 1 ) ) for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) xcopy %bin_dir%\ibwsd.dll %2\net\amd64\ /yq xcopy %bin_dir%\installsp.exe %2\net\amd64\ /yq xcopy %bin_dir%\installsp.exe %2\tools\amd64\release\ /yq xcopy %bin_dir%\ndinstall.exe %2\net\amd64\ /yq xcopy %bin_dir%\ndinstall.exe %2\tools\amd64\release\ /yq xcopy %bin_dir%\ibndprov.dll %2\net\amd64\ /yq echo xcopy *.exe tools\amd64\release\ xcopy %bin_dir%\*.exe %2\tools\amd64\release\ /yq 1>nul set F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL\amd64\ /yq exit /B 1 ) ) set F=dapl2.dll dapl2.pdb dapl2-scm.dll dapl2-scm.pdb dat2.dll dat2.lib dat2.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\amd64\ /yq exit /B 1 ) ) rem Copy Free IA64 dlls set bin_dir=%1\bin\user\objfre_%OSE%_ia64\ia64 set dest_dir=%2\HCA\ia64\ if "%DBG%" == "TRUE" echo DBG: copy IA64 Free dlls for %%i in (ibal.dll complib.dll mthcau.dll IbInstaller.dll) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %%i %dest_dir% /yq exit /B 1 ) ) for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %%i %dest_dir% /yq exit /B 1 ) ) xcopy %bin_dir%\ibwsd.dll %2\net\ia64\ /yq xcopy %bin_dir%\installsp.exe %2\net\ia64\ /yq xcopy %bin_dir%\ndinstall.exe %2\net\ia64\ /yq xcopy %bin_dir%\ibndprov.dll %2\net\ia64\ /yq echo xcopy *.exe tools\ia64\release\ xcopy %bin_dir%\*.exe %2\tools\ia64\release\ /yq 1>nul set F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL\ia64\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq exit /B 1 ) ) set F=dapl2.dll dapl2.pdb dapl2-scm.dll dapl2-scm.pdb dat2.dll dat2.lib dat2.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\ia64\ /yq exit /B 1 ) ) rem Copy Free x86 drivers :wxp_free_drv set bin_dir=%1\bin\user\objfre_%OSE%_x86\i386 set dest_dir=%2\HCA\x86\ if "%DBG%" == "TRUE" echo DBG: copy x86 Free dlls for %%i in (ibal.dll complib.dll mthcau.dll IbInstaller.dll mlx4u.dll) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) for %%i in (ibal.lib ibal.pdb complib.lib complib.pdb) do ( xcopy %bin_dir%\%%i %dest_dir% /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %dest_dir% /yq exit /B 1 ) ) echo xcopy *.exe tools\x86\release\ xcopy %bin_dir%\*.exe %2\tools\x86\release\ /yq 1>nul set F=dapl.dll dapl.pdb dat.dll dat.lib dat.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL\x86\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq exit /B 1 ) ) set F=dapl2.dll dapl2.pdb dapl2-scm.dll dapl2-scm.pdb dat2.dll dat2.lib dat2.pdb for %%i in ( %F% ) do ( xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq 1>nul if ERRORLEVEL 1 ( echo ERR on xcopy %bin_dir%\%%i %2\DAPL2\x86\ /yq exit /B 1 ) ) if /I "%OSE%" == "wxp" goto inf_files rem free x86 items if "%DBG%" == "TRUE" echo DBG: copy x86 Free WSD copy %bin_dir%\ibwsd.dll %2\net\x86\ /y copy %bin_dir%\installsp.exe %2\net\x86\ /y copy %bin_dir%\installsp.exe %2\tools\x86\release\ /y copy %bin_dir%\ndinstall.exe %2\net\x86\ /y copy %bin_dir%\ndinstall.exe %2\tools\x86\release\ /y copy %bin_dir%\ibndprov.dll %2\net\x86\ /y rem free x86 DLLs --> WOW64 DLLs if "%DBG%" == "TRUE" echo DBG: x86 Free dlls to WOW64 copy %bin_dir%\ibndprov.dll %2\net\amd64\ibndprov32.dll /y copy %bin_dir%\ibndprov.dll %2\net\ia64\ibndprov32.dll /y copy /B %bin_dir%\ibwsd.dll %2\net\amd64\ibwsd32.dll /y copy /B %bin_dir%\ibwsd.dll %2\net\ia64\ibwsd32.dll /y copy /B %bin_dir%\ibal.dll %2\HCA\amd64\ibal32.dll /y copy /B %bin_dir%\ibal.lib %2\HCA\amd64\ibal32.lib /y copy /B %bin_dir%\ibal.pdb %2\HCA\amd64\ibal32.pdb /y copy /B %bin_dir%\complib.dll %2\HCA\amd64\cl32.dll /y copy /B %bin_dir%\complib.lib %2\HCA\amd64\cl32.lib /y copy /B %bin_dir%\complib.pdb %2\HCA\amd64\cl32.pdb /y copy /B %bin_dir%\ibal.dll %2\HCA\ia64\ibal32.dll /y copy /B %bin_dir%\ibal.lib %2\HCA\ia64\ibal32.lib /y copy /B %bin_dir%\ibal.pdb %2\HCA\ia64\ibal32.pdb /y copy /B %bin_dir%\complib.dll %2\HCA\ia64\cl32.dll /y copy /B %bin_dir%\complib.lib %2\HCA\ia64\cl32.lib /y copy /B %bin_dir%\complib.pdb %2\HCA\ia64\cl32.pdb /y copy /B %bin_dir%\mthcau.dll %2\HCA\amd64\mthca32.dll /y copy /B %bin_dir%\mthcau.dll %2\HCA\ia64\mthca32.dll /y copy /B %bin_dir%\mlx4u.dll %2\HCA\amd64\mlx4u32.dll /y rem add when ConnectX on ia64 works copy /B %bin_dir%\mlx4u.dll %2\HCA\ia64\mlx4u32.dll /y copy /B %bin_dir%\dapl.dll %2\DAPL\amd64\dapl32.dll /y copy /B %bin_dir%\dat.dll %2\DAPL\amd64\dat32.dll /y copy /B %bin_dir%\dapl.dll %2\DAPL\ia64\dapl32.dll /y copy /B %bin_dir%\dat.dll %2\DAPL\ia64\dat32.dll /y copy /B %bin_dir%\dapl2.dll %2\DAPL2\amd64\dapl232.dll /y copy /B %bin_dir%\dat2.dll %2\DAPL2\amd64\dat232.dll /y copy /B %bin_dir%\dapl2.dll %2\DAPL2\ia64\dapl232.dll /y copy /B %bin_dir%\dat2.dll %2\DAPL2\ia64\dat232.dll /y rem Copy .cdf files to arch specific dirs for Driver signing rem .inf files now resident alongside .sys files :inf_files if "%DBG%" == "TRUE" echo DBG: cpy %OSE% x86 INF files copy /A/Y %1\hw\mthca\kernel\mthca32.cdf %2\HCA\x86\mthca.cdf copy /A/Y %1\hw\mlx4\kernel\hca\mlx4_hca32.cdf %2\HCA\x86\mlx4_hca.cdf copy /A/Y %1\hw\mlx4\kernel\bus\drv\mlx4_bus32.cdf %2\HCA\x86\mlx4_bus.cdf copy /A/Y %1\core\bus\kernel\ib_bus32.cdf %2\HCA\x86\ib_bus.cdf copy /A/Y %1\core\iou\kernel\ib_iou.cdf %2\HCA\x86\ib_iou.cdf rem No WSD support for XP32 if /I "%OSE%" == "wxp" ( copy /A /Y %1\ulp\ipoib\kernel\netipoib-xp32.inf %2\net\x86\netipoib.inf copy /A /Y %1\ulp\ipoib\kernel\ipoib32-xp.cdf %2\net\x86\ipoib.cdf ) else ( copy /A/Y %1\ulp\ipoib\kernel\ipoib32.cdf %2\net\x86\ipoib.cdf xcopy %1\tools\wsdinstall\user\installsp.exe.manifest %2\net\x86\ /yq ) xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\x86\ /yq xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\x86\ /yq if /I "%OSE%" == "wxp" goto cpy_bin_files if "%DBG%" == "TRUE" echo DBG: copy 64bit INF files xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\amd64 /yq xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\amd64\ /yq xcopy %1\hw\mlx4\kernel\hca\mlx4_hca32.cdf %2\HCA\amd64\ /yq xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\amd64\ /yq xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus32.cdf %2\HCA\amd64\ /yq xcopy %1\core\bus\kernel\ib_bus.cdf %2\HCA\amd64\ /yq xcopy %1\core\iou\kernel\ib_iou.cdf %2\HCA\amd64\ /yq xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\amd64\ /yq xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\amd64\ /yq xcopy %1\tools\wsdinstall\user\installsp.exe.manifest %2\net\amd64\ /yq xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\amd64\ /yq rem When ConnectX works for ia64 rem xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.inf %2\HCA\ia64\ /yq rem xcopy %1\hw\mlx4\kernel\hca\mlx4_hca.cdf %2\HCA\ia64\ /yq rem xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.inf %2\HCA\ia64\ /yq rem xcopy %1\hw\mlx4\kernel\bus\drv\mlx4_bus.cdf %2\HCA\ia64\ /yq xcopy %1\core\bus\kernel\ib_bus.cdf %2\HCA\ia64\ /yq xcopy %1\core\iou\kernel\ib_iou.cdf %2\HCA\ia64\ /yq xcopy %1\hw\mthca\kernel\mthca.cdf %2\HCA\ia64\ /yq xcopy %1\ulp\ipoib\kernel\ipoib.cdf %2\net\ia64\ /yq xcopy %1\ulp\qlgcvnic\kernel\netvnic.cdf %2\net\ia64\ /yq xcopy %1\tools\wsdinstall\user\installsp.exe.manifest %2\net\ia64\ /yq xcopy %1\ulp\srp\kernel\ib_srp.cdf %2\storage\ia64\ /yq :cpy_bin_files rem bin\bin used to generate a web based symbol store in build-ofa-dist.bat. echo 'Copy bin\obj{chk,fre}_%3_{x86,amd64,ia64} to bin' rem xcopy %1\bin %2\bin\ /eyq rem instead of copying the entire bin\ folder, pick items of OS interest. xcopy %1\bin\kernel\objchk_%3_x86 %2\bin\kernel\objchk_%3_x86\ /S /Y /Q xcopy %1\bin\kernel\objfre_%3_x86 %2\bin\kernel\objfre_%3_x86\ /S /Y /Q if /I "%3" == "wxp" goto ucpy xcopy %1\bin\kernel\objchk_%3_ia64 %2\bin\kernel\objchk_%3_ia64\ /S /Y /Q xcopy %1\bin\kernel\objfre_%3_ia64 %2\bin\kernel\objfre_%3_ia64\ /S /Y /Q xcopy %1\bin\kernel\objchk_%3_amd64 %2\bin\kernel\objchk_%3_amd64\ /S /Y /Q xcopy %1\bin\kernel\objfre_%3_amd64 %2\bin\kernel\objfre_%3_amd64\ /S /Y /Q :ucpy xcopy %1\bin\user\objchk_%3_x86 %2\bin\user\objchk_%3_x86\ /S /Y /Q xcopy %1\bin\user\objfre_%3_x86 %2\bin\user\objfre_%3_x86\ /S /Y /Q if /I "%3" == "wxp" goto ucpyx xcopy %1\bin\user\objchk_%3_ia64 %2\bin\user\objchk_%3_ia64\ /S /Y /Q xcopy %1\bin\user\objfre_%3_ia64 %2\bin\user\objfre_%3_ia64\ /S /Y /Q xcopy %1\bin\user\objchk_%3_amd64 %2\bin\user\objchk_%3_amd64\ /S /Y /Q xcopy %1\bin\user\objfre_%3_amd64 %2\bin\user\objfre_%3_amd64\ /S /Y /Q :ucpyx rem echo Copy symbol files: bin\*.pdb to %2\symbols rem xcopy %1\bin\*.pdb %2\symbols\ /eyq rem if "%DBG%" == "TRUE" echo DBG: bin\ file cleanup, file-not-found is OK. rem pushd %2 rem del /s bin\*.pdb > nul rem del /s ibtest* > nul rem del /s pingpong* > nul rem del /s *Sdp* > nul rem del /s Select* > nul rem del /s usrp* > nul rem del /s bin\*.lib > nul rem del /s bin\*.exp > nul rem popd rem Copy DAT v1.1 header files if "%DBG%" == "TRUE" echo DBG: DAT v1.1 header files if exist %1\ulp\dapl\dat\include\dat ( pushd %1\ulp\dapl\dat\include\dat xcopy dat.h %2\DAPL /Y/Q xcopy dat_error.h %2\DAPL /Y/Q xcopy dat_platform_specific.h %2\DAPL /Y/Q xcopy dat_redirection.h %2\DAPL /Y/Q xcopy dat_registry.h %2\DAPL /Y/Q xcopy dat_vendor_specific.h %2\DAPL /Y/Q xcopy udat.h %2\DAPL /Y/Q xcopy udat_config.h %2\DAPL /Y/Q xcopy udat_redirection.h %2\DAPL /Y/Q xcopy udat_vendor_specific.h %2\DAPL /Y/Q popd ) rem Copy DAT v2.0 header files if "%DBG%" == "TRUE" echo DBG: DAT v2.0 header files if exist %1\ulp\dapl2\dat\include\dat ( pushd %1\ulp\dapl2\dat\include\dat xcopy dat.h %2\DAPL2 /Y/Q xcopy dat_error.h %2\DAPL2 /Y/Q xcopy dat_platform_specific.h %2\DAPL2 /Y/Q xcopy dat_redirection.h %2\DAPL2 /Y/Q xcopy dat_registry.h %2\DAPL2 /Y/Q xcopy dat_vendor_specific.h %2\DAPL2 /Y/Q xcopy udat.h %2\DAPL2 /Y/Q xcopy udat_config.h %2\DAPL2 /Y/Q xcopy udat_redirection.h %2\DAPL2 /Y/Q xcopy udat_vendor_specific.h %2\DAPL2 /Y/Q popd pushd %1\ulp\dapl2\test\dapltest\scripts xcopy dt-svr.bat %2\DAPL2 /Y/Q xcopy dt-cli.bat %2\DAPL2 /Y/Q popd ) rem Copy IBAL header files if "%DBG%" == "TRUE" echo DBG: IBAL header files if exist %1\inc ( if exist %2\inc rmdir /S/Q %2\inc mkdir %2\Inc pushd %1\inc xcopy oib_ver.h %2\Inc /Y/Q xcopy openib.def %2\Inc /Y/Q xcopy Complib %2\Inc\Complib /I/S/Y/Q xcopy Iba %2\Inc\Iba /I/S/Y/Q xcopy User\Complib %2\Inc\Complib /I/S/Y/Q xcopy User\Iba %2\Inc\Iba /I/S/Y/Q popd ) rem Docs & SDK items if "%DBG%" == "TRUE" echo DBG: Docs and SDK files if NOT exist %2\Misc ( mkdir %2\Misc ) copy /Y/A %1\Docs\Manual.htm %2\Misc\Manual.htm copy /Y/A %1\tests\cmtest\user\cmtest_main.c %2\Misc\cmtest.c goto end :usage echo makebin src dest os echo src base directory. echo dest directory in which to build the installable binary tree. echo os Windows version [wlh, wnet, wxp] goto end :error1 echo %1\bin\kernel\objfre_%OSE%_amd64\amd64 missing goto end :error2 echo %1\bin\kernel\objfre_%OSE%_ia64\ia64 missing goto end :error3 echo %1\bin\kernel\objfre_%OSE%_x86\i386 missing goto end :error4 echo %1\bin\user\objfre_%OSE%_amd64\amd64 missing goto end :error5 echo %6\bin\user\objfre_%OSE%_ia64\ia64 missing goto end :error6 echo %1\bin\user\objfre_%OSE%_x86\i386 missing goto end :error7 echo %1\bin\user\objchk_%OSE%_amd64\amd64 missing goto end :error8 echo %1\bin\user\objchk_%OSE%_ia64\ia64 missing goto end :error9 echo %1\bin\user\objchk_%OSE%_x86\i386 missing :end echo . echo Finished OS %3 echo . endlocal