[WinOF] added commands:
authorstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 23 Mar 2009 15:49:47 +0000 (15:49 +0000)
committerstansmith <stansmith@ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86>
Mon, 23 Mar 2009 15:49:47 +0000 (15:49 +0000)
  'compf path' to force recompile (for all arch) the specified folder; example 'buildrelease compf core\bus' would rebuild core\bus for all architectures.
  'allf path' force recompile specified folder, run makebin, sign drivers & build installers.

git-svn-id: svn://openib.tc.cornell.edu/gen1/trunk@2038 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

WinOF/BuildRelease.bat

index e0d137c..bd1b7a4 100644 (file)
@@ -7,8 +7,9 @@ rem           Processor architecture specific WIX installers are constructed
 rem           in %IDIR%\r
 rem\r
 rem BuildRelease option\r
-rem  option == all | allnoforce | compile | compilenoforce | makebin | msi |\r
-rem            sign | wix | clean | msi-label | msi-del | msi-dir {OPENIB_REV}\r
+rem  option: all | allnoforce | allf | compile | compilenoforce | compf path |\r
+rem          makebin | msi |sign | wix | clean | msi-label | msi-del |\r
+rem          msi-dir {OPENIB_REV}\r
 \r
 rem This script is an 'example' of a one-command entire IB stack build to\r
 rem single-file installer; used to build a WinOF releases.\r
@@ -23,8 +24,16 @@ if "%1" == "/?" goto usage
 if "%1" == "-h" goto usage\r
 if "%1" == "all" goto OK\r
 if "%1" == "allnoforce" goto OK\r
+if "%1" == "allf" (\r
+    if "%2" == "" goto usage\r
+       goto OK\r
+)\r
 if "%1" == "compile" goto OK\r
 if "%1" == "compilenoforce" goto OK\r
+if "%1" == "compf" (\r
+    if "%2" == "" goto usage\r
+    goto OK\r
+)\r
 if "%1" == "makebin" goto OK\r
 if "%1" == "msi" goto OK\r
 if "%1" == "sign" goto OK\r
@@ -40,14 +49,16 @@ echo Unknown arg '%1' ?
 \r
 echo "usage: BuildRelease command {OPENIB_REV value}"\r
 echo where 'command' may be:\r
-echo    all - force recompile, install binaries to WIX tree, sign drivers and\r
-echo          build installers.\r
-\r
-echo    allnoforce - recompile only if needed, install binaries to WIX tree,\r
-echo                 sign drivers and build installers.\r
+echo    all - force recompile, install binaries to WIX tree(makebin),\r
+echo          sign drivers and build installers.\r
+echo    allnoforce - recompile only if needed, makebin, sign drivers and \r
+echo                 build installers.\r
+echo    allf path - force recompile the specified folder, makebin,\r
+echo                sign drivers and build installers.\r
 echo    compile - force a recompile/link of everything then exit.\r
 echo    compilenoforce - recompile/link only if needed then exit.\r
-echo    makebin - assumes binaries are built, will installs binaries to WIX tree\r
+echo    compf path - force recompile (all arch*) specified folder\r
+echo    makebin - assumes binaries are built, installs binaries to WIX tree\r
 echo              then exit.\r
 echo    msi - assumes binaries are installed in WIX tree, signs drivers and\r
 echo          create installers (.msi files) in IDIR.\r
@@ -115,6 +126,7 @@ set SW_PUBLISHER="OpenFabrics Alliance"
 rem A Digital driver signing certificate store name may be required.\r
 \r
 if "%1" == "all" goto chk_cert\r
+if "%1" == "allf" goto chk_cert\r
 if "%1" == "msi" goto chk_cert\r
 if "%1" == "sign" goto chk_cert\r
 \r
@@ -150,29 +162,44 @@ rem to contain the SVN number to use.
 rem set USE_SVN=1748\r
 set USE_SVN=latest\r
 \r
-rem setup value for OPENIB_REV assignment.\r
-if "%2" == "" (\r
-    rem Determine SVN value from current path.\r
-    rem WARNING - SVN value depends on the path '\openIB-windows-svn\XXX\gen1',\r
-    rem where SVN is set to XXX\r
-    rem  substring[23rd...26th] chars (offset counting) == xxxx\r
-    rem Note - OPENIB_REV is assigned SVN in a child script.\r
-\r
-    if "%USE_SVN%" == "" (\r
-        set SVN=%CD:~22,4%\r
-    ) else (\r
-       if "%USE_SVN%" == "latest" (\r
-rem                    set /P SVN=<F:\openIB-windows-svn\latest.txt\r
-                       set /P SVN=< ..\..\..\latest.txt\r
-               ) else (\r
-                       set SVN=%USE_SVN%\r
-               )\r
-    )\r
-    set LBL=_svn.!SVN!\r
+if "%1" == "allf" (\r
+       set FPATH=%2\r
+       goto svn\r
+)\r
+if "%1" == "compf" (\r
+       set FPATH=%2\r
+       goto svn\r
+)\r
+\r
+rem setup value for OPENIB_REV assignment; AND supported by if would be nice.\r
+if not "%2" == "" (\r
+       rem set SVN commit number.\r
+       set SVN=%2\r
+       set LBL=%2\r
+       goto svn_set\r
+)\r
+\r
+:svn\r
+\r
+rem Determine SVN value from current path.\r
+rem WARNING - SVN value depends on the path '\openIB-windows-svn\XXX\gen1',\r
+rem where SVN is set to XXX\r
+rem  substring[23rd...26th] chars (offset counting) == xxxx\r
+rem Note - OPENIB_REV is assigned SVN in a child script.\r
+\r
+if "%USE_SVN%" == "" (\r
+    set SVN=%CD:~22,4%\r
 ) else (\r
-    set SVN=%2\r
-    set LBL=%2\r
+       if "%USE_SVN%" == "latest" (\r
+rem                    set /P SVN=<F:\openIB-windows-svn\latest.txt\r
+               set /P SVN=< ..\..\..\latest.txt\r
+       ) else (\r
+               set SVN=%USE_SVN%\r
+       )\r
 )\r
+set LBL=_svn.!SVN!\r
+\r
+:svn_set\r
 \r
 if NOT EXIST "%WIX%\build-all-MSI.bat" (\r
     echo %0 - Missing .msi installer build script\r
@@ -316,6 +343,14 @@ if "%1" == "compilenoforce" (
     rem Compile everything only if needed.\r
     set OPS=-wgPM 3\r
 )\r
+if "%1" == "allf" (\r
+    rem Force Compile everything\r
+    set OPS=-wgcfPM 3\r
+)\r
+if "%1" == "compf" (\r
+    rem Force Compile everything\r
+    set OPS=-wgcfPM 3\r
+)\r
 \r
 if "%1" == "all" (\r
     echo Removing build artifacts and folders...\r
@@ -341,7 +376,11 @@ set WINOF_PATH=%CD%
 set OPENIB_REV=%SVN%\r
 set PLATFORM_SDK_PATH=%_PSDK%\r
 \r
+rem Compile in a specific folder? compf | allf\r
+if EXIST "%FPATH%" pushd %FPATH%\r
+\r
 rem ********* Compile for WLH - Windows Server 2008 & Vista\r
+\r
 rem WLH x64\r
 echo %0 - Build WLH x64 Checked\r
 %COMSPEC% /C "call %BSE%\etc\bldwo.bat chk x64 2008 %OPS%"\r
@@ -367,7 +406,6 @@ echo %0 - Build WLH ia64 Free
 %COMSPEC% /C "call %BSE%\etc\bldwo.bat fre ia64 2008 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
-\r
 rem ********* WXP - Windows XP - x86 only\r
 \r
 echo %0 - Build XP x86 Checked\r
@@ -378,8 +416,8 @@ echo %0 - Build XP x86 Free
 %COMSPEC% /C "call %BSE%\etc\bldwo.bat fre x86 xp %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
-\r
 rem ********* WNET - Windows Server 2003\r
+\r
 echo %0 - Build WNET x64 Checked\r
 %COMSPEC% /C "call %BSE%\etc\bldwo.bat chk x64 2003 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
@@ -401,6 +439,10 @@ echo %0 - Build WNET ia64 Free
 %COMSPEC% /C "call %BSE%\etc\bldwo.bat fre ia64 2003 %OPS%"\r
 if ERRORLEVEL 1 exit /B 1\r
 \r
+rem compf | allf\r
+if EXIST "%FPATH%" popd\r
+\r
+if "%1" == "compf" goto finito\r
 if "%1" == "compile" goto finito\r
 if "%1" == "compilenoforce" goto finito\r
 \r