[CORE,HW] replace using of Paged pool by NonPaged one. [mlnx: 4836]
[mirror/winof/.git] / etc / clean-build.bat
index 601be54..608daa1 100644 (file)
@@ -1,29 +1,61 @@
 @echo off\r
 setlocal\r
 \r
+rem usage: clean-build {scan-only}\r
+rem no args - remove build specific folders & files:\r
+rem            *_win7_* *_wxp_* *_wnet_* *_wlh_*\r
+rem arg1 != "" - then report matched folders & files - no delete.\r
+\r
+set T=%TEMP%\flist.txt\r
+\r
 rem delete OS flavor {wlh,wxp,wnet} specific build files to ensure a clean build\r
 \r
-for /f %%f in ( 'dir /b /s *_wxp_*' ) do (\r
-       del /F /S /Q %%f >jnk.log\r
-)\r
-for /f %%f in ( 'dir /b /s *_wxp_*' ) do (\r
-       rmdir /S /Q %%f >jnk.log\r
-)\r
+rem The story behind the for loop need for the fake 'delims=,' is the need to\r
+rem override the default delimiters of <space> & <tab>, anything but <space>\r
+rem or <tab>. Problems occur with a folder name like\r
+rem 'c:\svn\trunk\ulp\ipoib - copy(2)\objfre_wlh_x86' as the default delimiters\r
+rem in for loop file read return 'c:\svn\trunk\ulp\ipoib', bad juju.\r
 \r
-for /f %%f in ( 'dir /b /s *_wnet_*' ) do (\r
-       del /F /S /Q %%f >jnk.log\r
-)\r
-for /f %%f in ( 'dir /b /s *_wnet_*' ) do (\r
-       rmdir /S /Q %%f >jnk.log\r
-)\r
+rem check/remove directories\r
 \r
-for /f %%f in ( 'dir /b /s *_wlh_*' ) do (\r
-       del /F /S /Q %%f >jnk.log\r
+for %%d in ( _win7_ _wlh_ _wnet_ _wxp_ ) do (\r
+       echo  Folder Scan for *%%d*\r
+       dir /B /S /A:D *%%d* > %T% 2>&1\r
+       if ERRORLEVEL 1 (\r
+               del /Q/F %T%\r
+       ) else (\r
+               for /f "delims=," %%f in ( %T% ) do (\r
+                       if EXIST "%%f" (\r
+                               if "%1" == "" (\r
+                                       rmdir /S /Q "%%f" 1>nul\r
+                               ) else (\r
+                                       echo   found "%%f"\r
+                               )\r
+                       )\r
+               )\r
+               del /Q/F %T%\r
+       )\r
 )\r
 \r
-for /f %%f in ( 'dir /b /s *_wlh_*' ) do (\r
-       rmdir /S /Q %%f >jnk.log\r
-)\r
+rem check/remove files\r
 \r
-if exist jnk.log  del /Q jnk.log\r
+for %%d in ( _win7_ _wlh_ _wxp_ _wnet_ ) do (\r
+       echo  File Scan for *%%d*\r
+       dir /B /S *%%d* > %T% 2>&1\r
+       if ERRORLEVEL 1 (\r
+               del /Q/F %T%\r
+       ) else (\r
+               for /f "delims=," %%f in ( %T% ) do (\r
+                       if EXIST "%%f" (\r
+                               if "%1" == "" (\r
+                                       del /F /Q "%%f" 1>nul\r
+                               ) else (\r
+                                       echo   found %%f\r
+                               )\r
+                       )\r
+               )\r
+               del /Q/F %T%\r
+       )\r
+)\r
 endlocal\r
+\r