\r
@REM set CYGWIN_HOME=C:\cygwin\r
\r
-@REM usage: \r
+@REM usage:\r
@REM edksetup.bat [--nt32] [AntBuild] [Rebuild] [ForceRebuild] [Reconfig]\r
@REM if the argument, skip is present, only the paths and the\r
-@REM test and set of environment settings are performed. \r
+@REM test and set of environment settings are performed.\r
\r
@REM ##############################################################\r
@REM # You should not have to modify anything below this line\r
\r
:SetWorkSpace\r
@REM set new workspace\r
-@REM clear EFI_SOURCE and EDK_SOURCE for the new workspace\r
if not defined WORKSPACE (\r
set WORKSPACE=%CD%\r
- set EFI_SOURCE=\r
- set EDK_SOURCE=\r
)\r
\r
:ParseArgs\r
\r
if /I "%1"=="NewBuild" shift\r
if not defined EDK_TOOLS_PATH (\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 checkNt32Flag\r
- )\r
+ goto SetEdkToolsPath\r
+) else (\r
+ goto checkNt32Flag\r
+)\r
+\r
+:SetEdkToolsPath\r
+if %WORKSPACE:~-1% EQU \ (\r
+ @set EDK_BASETOOLS=%WORKSPACE%BaseTools\r
+) else (\r
+ @set EDK_BASETOOLS=%WORKSPACE%\BaseTools\r
+)\r
+if exist %EDK_BASETOOLS% (\r
+ set EDK_TOOLS_PATH=%EDK_BASETOOLS%\r
+ set EDK_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 checkNt32Flag\r
)\r
- ) else (\r
- echo.\r
- echo !!! ERROR !!! Cannot find BaseTools !!!\r
- echo. \r
- goto BadBaseTools\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
:checkNt32Flag\r
-@REM The Nt32 Emluation Platform requires Microsoft Libraries\r
+if exist %EDK_TOOLS_PATH%\Source set BASE_TOOLS_PATH=%EDK_TOOLS_PATH%\r
+\r
+@REM The Nt32 Emulation Platform requires Microsoft Libraries\r
@REM and headers to interface with Windows.\r
if /I "%1"=="--nt32" (\r
if /I "%2"=="X64" (\r
)\r
\r
:cygwin_done\r
+if /I "%1"=="Rebuild" shift\r
+if /I "%1"=="ForceRebuild" shift\r
if "%1"=="" goto end\r
\r
:Usage\r
@echo.\r
- @echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [--nt32 [X64]] [Reconfig]"\r
+ @echo Usage: "%0 [-h | -help | --help | /h | /help | /?] [--nt32 [X64]] [Reconfig] [Rebuild] [ForceRebuild]"\r
@echo --nt32 [X64] If a compiler tool chain is not available in the\r
@echo environment, call a script to attempt to set one up.\r
@echo This flag is only required if building the\r
@echo rebuild.\r
@echo.\r
@echo Reconfig Reinstall target.txt, tools_def.txt and build_rule.txt.\r
+ @echo Rebuild Perform incremental rebuild of BaseTools binaries.\r
+ @echo ForceRebuild Force a full rebuild of BaseTools binaries.\r
@echo.\r
@echo Note that target.template, tools_def.template and build_rules.template\r
@echo will only be copied to target.txt, tools_def.txt and build_rule.txt\r
\r
:end\r
popd\r
-\r