X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=edksetup.bat;h=740b7bd15b6badc0a7fe1f78c7d23910d8f152ce;hp=be35f978ea9ced511ae96867fde23b6b8f252b81;hb=27e0221a8578226815bf0d7f3606dc6136c90de4;hpb=53cef58afb601531ffb2198a52aea2da8f81121e diff --git a/edksetup.bat b/edksetup.bat index be35f978ea..740b7bd15b 100644 --- a/edksetup.bat +++ b/edksetup.bat @@ -4,15 +4,20 @@ @REM are licensed and made available under the terms and conditions of the BSD License @REM which accompanies this distribution. The full text of the license may be found at @REM http://opensource.org/licenses/bsd-license.php -@REM +@REM @REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, @REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. @REM @REM set following environment in this file or in command shell @REM set JAVA_HOME=C:\Java\jdk1.5.0_04 -@REM set WORKSPACE=C:\mdk +@REM set ANT_HOME=C:\ANT +@REM set XMLBEANS_HOME=C:\xmlbeans +@REM set CYGWIN_HOME=C:\cygwin +@REM usage: edksetup.bat [Rebuild] [ForceRebuild] +@REM if the argument, skip is present, only the paths and the +@REM test and set of environment settings are performed. @REM ############################################################## @REM # You should not have to modify anything below this line @@ -20,106 +25,233 @@ @echo off +@REM +@REM Check the required system environment variables +@REM + :check_vc -if defined VCINSTALLDIR goto check_java +if defined VCINSTALLDIR goto check_cygwin if defined VS71COMNTOOLS ( - call "%VS71COMNTOOLS%vsvars32.bat" + call "%VS71COMNTOOLS%\vsvars32.bat" ) else ( echo. echo !!! WARNING !!!! Cannot find Visual Studio !!! echo. ) -:check_java -if "%JAVA_HOME%"=="" goto no_jdk -echo. -echo JAVA_HOME: %JAVA_HOME% - -@REM Set the WORKSPACE to the Current Working Directory -set WORKSPACE=%~dp0 -echo WORKSPACE: %WORKSPACE% - -:set_cygwin -if not defined CYGWIN_HOME ( - if exist c:\cygwin (set CYGWIN_HOME=c:\cygwin) else ( - echo. - echo !!! Not set CYGWIN_HOME, gcc build may not be used !!! - echo. - ) +:check_cygwin +if defined CYGWIN_HOME goto check_java +if exist c:\cygwin ( + set CYGWIN_HOME=c:\cygwin ) else ( - echo CYGWIN_HOME: %CYGWIN_HOME% + echo. + echo !!! WARNING !!!! Not set CYGWIN_HOME, gcc build may not be used !!! + echo. ) +:check_java +if "%JAVA_HOME%"=="" goto no_jdk + +:check_ant if "%ANT_HOME%"=="" goto no_ant -echo ANT_HOME: %ANT_HOME% if not exist %ANT_HOME%\lib\ant-contrib.jar goto no_antcontrib +:check_xmlbeans if "%XMLBEANS_HOME%"=="" goto no_xmlbeans -echo XMLBEANS_HOME: %XMLBEANS_HOME% +if not exist %XMLBEANS_HOME%\lib\saxon8.jar goto no_saxon8 -set Framework_Tools_Path=%WORKSPACE%\Tools\bin +@REM +@REM Set the WORKSPACE to the current working directory +@REM +set WORKSPACE=%CD% +set FRAMEWORK_TOOLS_PATH=%WORKSPACE%\Tools\bin -set PATH=%Framework_Tools_Path%;%PATH% +if defined WORKSPACE_TOOLS_PATH goto check_path +set PATH=%FRAMEWORK_TOOLS_PATH%;%JAVA_HOME%\bin;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin;%PATH% +set WORKSPACE_TOOLS_PATH=%FRAMEWORK_TOOLS_PATH% +echo Setting the PATH variable to include the FRAMEWORK_TOOLS_PATH for this WORKSPACE +goto path_ok -echo PATH: %PATH% -echo. +:check_path +if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto path_ok +set PATH=%FRAMEWORK_TOOLS_PATH%;%PATH% +set WORKSPACE_TOOLS_PATH=%WORKSPACE%\Tools\bin +echo Resetting the PATH variable to include the FRAMEWORK_TOOLS_PATH for this WORKSPACE -if not exist %XMLBEANS_HOME%\lib\saxon8.jar goto no_saxon8 +:path_ok -echo Building the Tiano Tools +@if "%1"=="-h" goto Usage +@if "%1"=="-help" goto Usage +@if "%1"=="--help" goto Usage +@if "%1"=="/h" goto Usage +@if "%1"=="/?" goto Usage +@if "%1"=="/help" goto Usage -@REM We are going to create the SurfaceArea.jar file first so that other Java Program can use it -@REM It needs the xmlbeans libaries in order to compile. -set CLASSPATH=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar;%XMLBEANS_HOME%\lib\xbean.jar -set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar;%XMLBEANS_HOME%\lib\xmlpublic.jar -set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar;%XMLBEANS_HOME%\lib\resolver.jar +@IF NOT EXIST "Tools\Jars\Common.jar" goto NormalBuild +@IF NOT EXIST "Tools\Jars\PcdTools.jar" goto NormalBuild +@IF NOT EXIST "Tools\Jars\GenBuild.jar" goto NormalBuild +@IF NOT EXIST "Tools\Jars\SurfaceArea.jar" goto NormalBuild +@IF NOT EXIST "Tools\Jars\cpptasks.jar" goto NormalBuild +@IF NOT EXIST "Tools\Jars\frameworktasks.jar" goto NormalBuild +@IF NOT EXIST "Tools\bin\FrameworkWizard.jar" goto NormalBuild +@IF NOT EXIST "Tools\bin\CompressDll.dll" goto NormalBuild +@IF NOT EXIST "Tools\bin\CompressDll.lib" goto NormalBuild +@IF NOT EXIST "Tools\bin\CreateMtFile.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\EfiCompress.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\EfiRom.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\FlashMap.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\FwImage.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\GenAcpiTable.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\GenCRC32Section.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\GenCapsuleHdr.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\GenDepex.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\GenFfsFile.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\GenFvImage.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\GenSection.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\GenTEImage.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\GuidChk.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\MakeDeps.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\ModifyInf.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\PeiRebase_Ia32.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\PeiRebase_Ipf.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\PeiRebase_X64.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\SecApResetVectorFixup.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\SecFixup.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\SetStamp.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\SplitFile.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\StrGather.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\Strip.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\VfrCompile.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\ZeroDebugData.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\antlr.exe" goto NormalBuild +@IF NOT EXIST "Tools\bin\dlg.exe" goto NormalBuild -call ant -f %WORKSPACE%Tools\build.xml SurfaceArea +@if "%1"=="Rebuild" goto NormalBuild +@if "%1"=="ForceRebuild" goto ForceBuild +@if NOT "%1"=="" goto Usage +goto skipbuild + +:ForceBuild +@if "%CLASSPATH%"=="" set CLASSPATH= +call ant -noclasspath -f %WORKSPACE%\Tools\build.xml cleanall + +:NormalBuild +@REM +@REM Start to build the Framework Tools +@REM + +echo. +echo Building the Framework Tools +echo. + +@REM +@REM We are going to create the SurfaceArea.jar file first so that the other +@REM Java Programs can use it. +@REM It needs the XMLBEANS libraries in order to compile. +@REM +set CLASSPATH=%XMLBEANS_HOME%\lib +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xmlpublic.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\resolver.jar + +call ant -f %WORKSPACE%\Tools\build.xml SurfaceArea + +@REM @REM Now we can make the other Java Programs @REM All of the remaining Java Programs require the SurfaceArea library to compile -set CLASSPATH=%CLASSPATH%;%WORKSPACE%Tools\Jars\SurfaceArea.jar +@REM +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\SurfaceArea.jar -call ant -f %WORKSPACE%Tools\build.xml JavaCode +call ant -f %WORKSPACE%\Tools\build.xml JavaCode -@REM We have all of the Java Programs and add-in classes created, so we can start using the cpp-tasks to create our tools -set CLASSPATH=%CLASSPATH%;%WORKSPACE%Tools\Jars\SurfaceArea.jar;%WORKSPACE%Tools\Jars\GenBuild.jar -set CLASSPATH=%CLASSPATH%;%WORKSPACE%Tools\Jars\cpptasks.jar;%WORKSPACE%Tools\Jars\frameworktasks.jar +@REM +@REM We have all of the Java Programs and add-in classes created, so we can start +@REM using the cpp-tasks to create our tools +@REM +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\Common.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\PcdTools.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\GenBuild.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\frameworktasks.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\FrameworkWizard.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\MigrationTools.jar -call ant -f %WORKSPACE%Tools\build.xml C_Code +call ant -f %WORKSPACE%\Tools\build.xml C_Code +@REM +@REM Done!!! +@REM goto end :no_jdk echo. echo !!! Please install Java, and set JAVA_HOME !!! echo. -goto end +goto end :no_ant echo. echo !!! Please install Apache Ant, and set ANT_HOME !!! echo. -goto end +goto end :no_antcontrib echo. echo !!! Please install Ant-contrib to ANT_HOME !!! echo. -goto end +goto end :no_xmlbeans echo. echo !!! Please install XML Beans, and set XMLBEANS_HOME !!! echo. -goto end +goto end :no_saxon8 echo. echo !!! Please copy saxon8.jar file to XMLBEANS_HOME\lib !!! echo. -goto end +goto end + +:skipbuild +@REM +@REM This just sets up the CLASSPATH, the rest of the environment should have been set already. +@REM +echo. +echo WORKSPACE: %WORKSPACE% +echo JAVA_HOME: %JAVA_HOME% +echo ANT_HOME: %ANT_HOME% +echo XMLBEANS_HOME: %XMLBEANS_HOME% +echo CYGWIN_HOME: %CYGWIN_HOME% +echo PATH: %PATH% +echo. +set CLASSPATH=%XMLBEANS_HOME%\lib +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xmlpublic.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar +set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\resolver.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\SurfaceArea.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\Common.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\PcdTools.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\GenBuild.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\frameworktasks.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\FrameworkWizard.jar +set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\MigrationTools.jar +echo CLASSPATH: %CLASSPATH% +goto end + +:Usage +echo. +echo Usage: %0 [Rebuild] [ForceRebuild] +echo. :end @echo on