summaryrefslogtreecommitdiffstats
path: root/edksetup.bat
diff options
context:
space:
mode:
Diffstat (limited to 'edksetup.bat')
-rwxr-xr-xedksetup.bat30
1 files changed, 26 insertions, 4 deletions
diff --git a/edksetup.bat b/edksetup.bat
index 25a5a6e8d7..b63c29916b 100755
--- a/edksetup.bat
+++ b/edksetup.bat
@@ -42,9 +42,11 @@ if %WORKSPACE% == %CD% (
:SetWorkSpace
@REM set new workspace
@REM clear EFI_SOURCE and EDK_SOURCE for the new workspace
-set WORKSPACE=%CD%
-set EFI_SOURCE=
-set EDK_SOURCE=
+if not defined WORKSPACE (
+ set WORKSPACE=%CD%
+ set EFI_SOURCE=
+ set EDK_SOURCE=
+)
:ParseArgs
if /I "%1"=="-h" goto Usage
@@ -92,8 +94,28 @@ if not defined VCINSTALLDIR (
shift
:no_nt32
+
if /I "%1"=="NewBuild" shift
-set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools
+if exist %WORKSPACE%\BaseTools (
+ set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools
+) else (
+ if defined PACKAGES_PATH (
+ for %%i IN (%PACKAGES_PATH%) DO (
+ if exist %%~fi\BaseTools (
+ set EDK_TOOLS_PATH=%%~fi\BaseTools
+ goto checkBaseTools
+ )
+ )
+ ) else (
+ echo.
+ echo !!! ERROR !!! Cannot find BaseTools !!!
+ echo.
+ goto BadBaseTools
+ )
+)
+if exist %EDK_TOOLS_PATH%\Source set BASE_TOOLS_PATH=%EDK_TOOLS_PATH%
+
+:checkBaseTools
IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools
call %EDK_TOOLS_PATH%\toolsetup.bat %*
if /I "%1"=="Reconfig" shift