mirror of https://github.com/acidanthera/audk.git
BaseTools: Update edksetup.bat to support multiple workspaces
1. Update edksetup.bat and toolsetup.bat to handle PACKAGES_PATH. BaseTools directory may be in PACKAGES_PATH instead of WORKSAPCE. 2. Introduce EDK_TOOLS_BIN env points to the windows binary tools dir. Windows BaseTools Win32 may be a separate directory. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao <liming.gao@intel.com> Reviewed-by: Wu Hao A <hao.a.wu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18582 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
c4f52e128f
commit
dcc8078699
|
@ -113,30 +113,43 @@ if /I "%1"=="/?" goto Usage
|
||||||
|
|
||||||
:set_PATH
|
:set_PATH
|
||||||
if defined WORKSPACE_TOOLS_PATH goto check_PATH
|
if defined WORKSPACE_TOOLS_PATH goto check_PATH
|
||||||
set PATH=%EDK_TOOLS_PATH%\Bin;%EDK_TOOLS_PATH%\Bin\Win32;%PATH%
|
if not defined EDK_TOOLS_BIN (
|
||||||
|
if exist %EDK_TOOLS_PATH%\Bin\Win32 (
|
||||||
|
set EDK_TOOLS_BIN=%EDK_TOOLS_PATH%\Bin\Win32
|
||||||
|
) else (
|
||||||
|
echo.
|
||||||
|
echo !!! ERROR !!! Cannot find BaseTools Bin Win32!!!
|
||||||
|
echo Please check the directory %EDK_TOOLS_PATH%\Bin\Win32
|
||||||
|
echo Or configure EDK_TOOLS_BIN env to point Win32 directory.
|
||||||
|
echo.
|
||||||
|
goto end
|
||||||
|
)
|
||||||
|
)
|
||||||
|
set PATH=%EDK_TOOLS_BIN%;%PATH%
|
||||||
set WORKSPACE_TOOLS_PATH=%EDK_TOOLS_PATH%
|
set WORKSPACE_TOOLS_PATH=%EDK_TOOLS_PATH%
|
||||||
goto PATH_ok
|
goto PATH_ok
|
||||||
|
|
||||||
:check_PATH
|
:check_PATH
|
||||||
if "%EDK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto PATH_ok
|
if "%EDK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto PATH_ok
|
||||||
set PATH=%EDK_TOOLS_PATH%\Bin;%EDK_TOOLS_PATH%\Bin\Win32;%PATH%
|
if not defined EDK_TOOLS_BIN (
|
||||||
|
if exist %EDK_TOOLS_PATH%\Bin\Win32 (
|
||||||
|
set EDK_TOOLS_BIN=%EDK_TOOLS_PATH%\Bin\Win32
|
||||||
|
) else (
|
||||||
|
echo.
|
||||||
|
echo !!! ERROR !!! Cannot find BaseTools Bin Win32!!!
|
||||||
|
echo Please check the directory %EDK_TOOLS_PATH%\Bin\Win32
|
||||||
|
echo Or configure EDK_TOOLS_BIN env to point Win32 directory.
|
||||||
|
echo.
|
||||||
|
goto end
|
||||||
|
)
|
||||||
|
)
|
||||||
|
set PATH=%EDK_TOOLS_BIN%;%PATH%
|
||||||
set WORKSPACE_TOOLS_PATH=%EDK_TOOLS_PATH%
|
set WORKSPACE_TOOLS_PATH=%EDK_TOOLS_PATH%
|
||||||
echo Resetting the PATH variable to include the EDK_TOOLS_PATH for this session.
|
echo Resetting the PATH variable to include the EDK_TOOLS_PATH for this session.
|
||||||
|
|
||||||
:PATH_ok
|
:PATH_ok
|
||||||
echo PATH = %PATH%
|
|
||||||
echo.
|
|
||||||
if defined WORKSPACE (
|
|
||||||
echo WORKSPACE = %WORKSPACE%
|
|
||||||
)
|
|
||||||
echo EDK_TOOLS_PATH = %EDK_TOOLS_PATH%
|
|
||||||
if defined BASE_TOOLS_PATH (
|
|
||||||
echo BASE_TOOLS_PATH = %BASE_TOOLS_PATH%
|
|
||||||
)
|
|
||||||
echo.
|
|
||||||
|
|
||||||
REM
|
REM
|
||||||
REM copy *.template to %WORKSPACE%\Conf
|
REM copy *.template to %CONF_PATH%
|
||||||
REM
|
REM
|
||||||
if not defined WORKSPACE (
|
if not defined WORKSPACE (
|
||||||
if defined RECONFIG (
|
if defined RECONFIG (
|
||||||
|
@ -147,50 +160,81 @@ if not defined WORKSPACE (
|
||||||
goto skip_reconfig
|
goto skip_reconfig
|
||||||
)
|
)
|
||||||
|
|
||||||
if NOT exist %WORKSPACE%\Conf (
|
set CONF_PATH=%WORKSPACE%\Conf
|
||||||
mkdir %WORKSPACE%\Conf
|
if NOT exist %CONF_PATH% (
|
||||||
|
if defined PACKAGES_PATH (
|
||||||
|
for %%i IN (%PACKAGES_PATH%) DO (
|
||||||
|
if exist %%~fi\Conf (
|
||||||
|
set CONF_PATH=%%i\Conf
|
||||||
|
goto CopyConf
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
:CopyConf
|
||||||
|
if NOT exist %CONF_PATH% (
|
||||||
|
mkdir %CONF_PATH%
|
||||||
) else (
|
) else (
|
||||||
if defined RECONFIG (
|
if defined RECONFIG (
|
||||||
echo.
|
echo.
|
||||||
echo Over-writing the files in the WORKSPACE\Conf directory
|
echo Over-writing the files in the CONF_PATH directory
|
||||||
echo using the default template files
|
echo using the default template files
|
||||||
echo.
|
echo.
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if NOT exist %WORKSPACE%\Conf\target.txt (
|
if NOT exist %CONF_PATH%\target.txt (
|
||||||
echo copying ... target.template to %WORKSPACE%\Conf\target.txt
|
echo copying ... target.template to %CONF_PATH%\target.txt
|
||||||
if NOT exist %EDK_TOOLS_PATH%\Conf\target.template (
|
if NOT exist %EDK_TOOLS_PATH%\Conf\target.template (
|
||||||
echo Error: target.template is missing at folder %EDK_TOOLS_PATH%\Conf\
|
echo Error: target.template is missing at folder %EDK_TOOLS_PATH%\Conf\
|
||||||
)
|
)
|
||||||
copy %EDK_TOOLS_PATH%\Conf\target.template %WORKSPACE%\Conf\target.txt > nul
|
copy %EDK_TOOLS_PATH%\Conf\target.template %CONF_PATH%\target.txt > nul
|
||||||
) else (
|
) else (
|
||||||
if defined RECONFIG echo over-write ... target.template to %WORKSPACE%\Conf\target.txt
|
if defined RECONFIG echo over-write ... target.template to %CONF_PATH%\target.txt
|
||||||
if defined RECONFIG copy /Y %EDK_TOOLS_PATH%\Conf\target.template %WORKSPACE%\Conf\target.txt > nul
|
if defined RECONFIG copy /Y %EDK_TOOLS_PATH%\Conf\target.template %CONF_PATH%\target.txt > nul
|
||||||
)
|
)
|
||||||
|
|
||||||
if NOT exist %WORKSPACE%\Conf\tools_def.txt (
|
if NOT exist %CONF_PATH%\tools_def.txt (
|
||||||
echo copying ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt
|
echo copying ... tools_def.template to %CONF_PATH%\tools_def.txt
|
||||||
if NOT exist %EDK_TOOLS_PATH%\Conf\tools_def.template (
|
if NOT exist %EDK_TOOLS_PATH%\Conf\tools_def.template (
|
||||||
echo Error: tools_def.template is missing at folder %EDK_TOOLS_PATH%\Conf\
|
echo Error: tools_def.template is missing at folder %EDK_TOOLS_PATH%\Conf\
|
||||||
)
|
)
|
||||||
copy %EDK_TOOLS_PATH%\Conf\tools_def.template %WORKSPACE%\Conf\tools_def.txt > nul
|
copy %EDK_TOOLS_PATH%\Conf\tools_def.template %CONF_PATH%\tools_def.txt > nul
|
||||||
) else (
|
) else (
|
||||||
if defined RECONFIG echo over-write ... tools_def.template to %WORKSPACE%\Conf\tools_def.txt
|
if defined RECONFIG echo over-write ... tools_def.template to %CONF_PATH%\tools_def.txt
|
||||||
if defined RECONFIG copy /Y %EDK_TOOLS_PATH%\Conf\tools_def.template %WORKSPACE%\Conf\tools_def.txt > nul
|
if defined RECONFIG copy /Y %EDK_TOOLS_PATH%\Conf\tools_def.template %CONF_PATH%\tools_def.txt > nul
|
||||||
)
|
)
|
||||||
|
|
||||||
if NOT exist %WORKSPACE%\Conf\build_rule.txt (
|
if NOT exist %CONF_PATH%\build_rule.txt (
|
||||||
echo copying ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt
|
echo copying ... build_rule.template to %CONF_PATH%\build_rule.txt
|
||||||
if NOT exist %EDK_TOOLS_PATH%\Conf\build_rule.template (
|
if NOT exist %EDK_TOOLS_PATH%\Conf\build_rule.template (
|
||||||
echo Error: build_rule.template is missing at folder %EDK_TOOLS_PATH%\Conf\
|
echo Error: build_rule.template is missing at folder %EDK_TOOLS_PATH%\Conf\
|
||||||
)
|
)
|
||||||
copy %EDK_TOOLS_PATH%\Conf\build_rule.template %WORKSPACE%\Conf\build_rule.txt > nul
|
copy %EDK_TOOLS_PATH%\Conf\build_rule.template %CONF_PATH%\build_rule.txt > nul
|
||||||
) else (
|
) else (
|
||||||
if defined RECONFIG echo over-write ... build_rule.template to %WORKSPACE%\Conf\build_rule.txt
|
if defined RECONFIG echo over-write ... build_rule.template to %CONF_PATH%\build_rule.txt
|
||||||
if defined RECONFIG copy /Y %EDK_TOOLS_PATH%\Conf\build_rule.template %WORKSPACE%\Conf\build_rule.txt > nul
|
if defined RECONFIG copy /Y %EDK_TOOLS_PATH%\Conf\build_rule.template %CONF_PATH%\build_rule.txt > nul
|
||||||
)
|
)
|
||||||
|
|
||||||
|
echo PATH = %PATH%
|
||||||
|
echo.
|
||||||
|
if defined WORKSPACE (
|
||||||
|
echo WORKSPACE = %WORKSPACE%
|
||||||
|
)
|
||||||
|
if defined PACKAGES_PATH (
|
||||||
|
echo PACKAGES_PATH = %PACKAGES_PATH%
|
||||||
|
)
|
||||||
|
echo EDK_TOOLS_PATH = %EDK_TOOLS_PATH%
|
||||||
|
if defined BASE_TOOLS_PATH (
|
||||||
|
echo BASE_TOOLS_PATH = %BASE_TOOLS_PATH%
|
||||||
|
)
|
||||||
|
if defined EDK_TOOLS_BIN (
|
||||||
|
echo EDK_TOOLS_BIN = %EDK_TOOLS_BIN%
|
||||||
|
)
|
||||||
|
echo CONF_PATH = %CONF_PATH%
|
||||||
|
echo.
|
||||||
|
|
||||||
:skip_reconfig
|
:skip_reconfig
|
||||||
|
|
||||||
@REM
|
@REM
|
||||||
|
@ -198,28 +242,26 @@ if NOT exist %WORKSPACE%\Conf\build_rule.txt (
|
||||||
@REM
|
@REM
|
||||||
if defined FORCE_REBUILD goto check_build_environment
|
if defined FORCE_REBUILD goto check_build_environment
|
||||||
if defined REBUILD goto check_build_environment
|
if defined REBUILD goto check_build_environment
|
||||||
if not exist "%EDK_TOOLS_PATH%\Bin" goto check_build_environment
|
if not exist "%EDK_TOOLS_PATH%" goto check_build_environment
|
||||||
|
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\BootSectImage.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\BootSectImage.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\build.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\build.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\EfiLdrImage.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\EfiLdrImage.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\EfiRom.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\EfiRom.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\GenBootSector.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\GenBootSector.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\GenFds.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\GenFds.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\GenFfs.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\GenFfs.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\GenFv.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\GenFv.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\GenFw.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\GenFw.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\GenPage.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\GenPage.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\GenSec.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\GenSec.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\GenVtf.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\GenVtf.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\MigrationMsa2Inf.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\Split.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\Split.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\TargetTool.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\TargetTool.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\TianoCompress.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\TianoCompress.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\Trim.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\Trim.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\VfrCompile.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\VfrCompile.exe" goto check_build_environment
|
IF NOT EXIST "%EDK_TOOLS_BIN%\VolInfo.exe" goto check_build_environment
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\Fpd2Dsc.exe" goto check_build_environment
|
|
||||||
IF NOT EXIST "%EDK_TOOLS_PATH%\Bin\Win32\VolInfo.exe" goto check_build_environment
|
|
||||||
|
|
||||||
goto end
|
goto end
|
||||||
|
|
||||||
|
|
30
edksetup.bat
30
edksetup.bat
|
@ -42,9 +42,11 @@ if %WORKSPACE% == %CD% (
|
||||||
:SetWorkSpace
|
:SetWorkSpace
|
||||||
@REM set new workspace
|
@REM set new workspace
|
||||||
@REM clear EFI_SOURCE and EDK_SOURCE for the new workspace
|
@REM clear EFI_SOURCE and EDK_SOURCE for the new workspace
|
||||||
set WORKSPACE=%CD%
|
if not defined WORKSPACE (
|
||||||
set EFI_SOURCE=
|
set WORKSPACE=%CD%
|
||||||
set EDK_SOURCE=
|
set EFI_SOURCE=
|
||||||
|
set EDK_SOURCE=
|
||||||
|
)
|
||||||
|
|
||||||
:ParseArgs
|
:ParseArgs
|
||||||
if /I "%1"=="-h" goto Usage
|
if /I "%1"=="-h" goto Usage
|
||||||
|
@ -92,8 +94,28 @@ if not defined VCINSTALLDIR (
|
||||||
shift
|
shift
|
||||||
|
|
||||||
:no_nt32
|
:no_nt32
|
||||||
|
|
||||||
if /I "%1"=="NewBuild" shift
|
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
|
IF NOT EXIST "%EDK_TOOLS_PATH%\toolsetup.bat" goto BadBaseTools
|
||||||
call %EDK_TOOLS_PATH%\toolsetup.bat %*
|
call %EDK_TOOLS_PATH%\toolsetup.bat %*
|
||||||
if /I "%1"=="Reconfig" shift
|
if /I "%1"=="Reconfig" shift
|
||||||
|
|
Loading…
Reference in New Issue