:SetWorkSpace\r
@REM set new workspace\r
@REM clear EFI_SOURCE and EDK_SOURCE for the new workspace\r
-set WORKSPACE=%CD%\r
-set EFI_SOURCE=\r
-set EDK_SOURCE=\r
+if not defined WORKSPACE (\r
+ set WORKSPACE=%CD%\r
+ set EFI_SOURCE=\r
+ set EDK_SOURCE=\r
+)\r
\r
:ParseArgs\r
if /I "%1"=="-h" goto Usage\r
shift\r
\r
:no_nt32\r
+\r
if /I "%1"=="NewBuild" shift\r
-set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools\r
+if exist %WORKSPACE%\BaseTools (\r
+ set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools\r
+) else (\r
+ if defined PACKAGES_PATH (\r
+ for %%i IN (%PACKAGES_PATH%) DO (\r
+ if exist %%~fi\BaseTools (\r
+ set EDK_TOOLS_PATH=%%~fi\BaseTools\r
+ goto checkBaseTools\r
+ )\r
+ )\r
+ ) else (\r
+ echo.\r
+ echo !!! ERROR !!! Cannot find BaseTools !!!\r
+ echo. \r
+ goto BadBaseTools\r
+ )\r
+)\r
+if exist %EDK_TOOLS_PATH%\Source set BASE_TOOLS_PATH=%EDK_TOOLS_PATH%\r
+\r
+:checkBaseTools\r
IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools\r
call %EDK_TOOLS_PATH%\toolsetup.bat %*\r
if /I "%1"=="Reconfig" shift\r