| @REM | |
| @REM Copyright (c) 2006, Intel Corporation | |
| @REM All rights reserved. This program and the accompanying materials | |
| @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 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_06 | |
| @REM set ANT_HOME=C:\ANT | |
| @REM set XMLBEANS_HOME=C:\xmlbeans | |
| @REM set CYGWIN_HOME=C:\cygwin | |
| @REM usage: edksetup.bat [Rebuild] [ForceRebuild] [Reconfig] | |
| @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 | |
| @REM # | |
| @echo off | |
| @REM | |
| @REM Check the required system environment variables | |
| @REM | |
| :check_vc | |
| if defined VCINSTALLDIR goto check_cygwin | |
| if defined VS71COMNTOOLS ( | |
| call "%VS71COMNTOOLS%\vsvars32.bat" | |
| ) else ( | |
| echo. | |
| echo !!! WARNING !!!! Cannot find Visual Studio !!! | |
| echo. | |
| ) | |
| :check_cygwin | |
| if defined CYGWIN_HOME goto check_java | |
| if exist c:\cygwin ( | |
| set CYGWIN_HOME=c:\cygwin | |
| ) else ( | |
| 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 | |
| if not exist %ANT_HOME%\lib\ant-contrib.jar goto no_antcontrib | |
| :check_xmlbeans | |
| if "%XMLBEANS_HOME%"=="" goto no_xmlbeans | |
| if not exist %XMLBEANS_HOME%\lib\saxon8.jar goto no_saxon8 | |
| @REM | |
| @REM Set the WORKSPACE to the current working directory | |
| @REM | |
| set WORKSPACE=%CD% | |
| set FRAMEWORK_TOOLS_PATH=%WORKSPACE%\Tools\bin | |
| if not defined ORIGINAL_CLASSPATH set ORIGINAL_CLASSPATH=%CLASSPATH% | |
| set CLASSPATH=%ORIGINAL_CLASSPATH% | |
| 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 | |
| :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 | |
| :path_ok | |
| @if /I "%1"=="-h" goto Usage | |
| @if /I "%1"=="-help" goto Usage | |
| @if /I "%1"=="--help" goto Usage | |
| @if /I "%1"=="/h" goto Usage | |
| @if /I "%1"=="/?" goto Usage | |
| @if /I "%1"=="/help" goto Usage | |
| @if /I "%1"=="ForceRebuild" goto ForceBuild | |
| @if /I "%1"=="Reconfig" goto Reconfig | |
| @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 | |
| @if /I "%1"=="Rebuild" goto NormalBuild | |
| @if NOT "%1"=="" goto Usage | |
| goto skipbuild | |
| :ForceBuild | |
| call ant -f %WORKSPACE%\Tools\build.xml -noclasspath 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;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\xbean.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\xbean_xpath.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\xmlpublic.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\resolver.jar;%CLASSPATH% | |
| 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 | |
| @REM | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\SurfaceArea.jar;%CLASSPATH% | |
| call ant -f %WORKSPACE%\Tools\build.xml JavaCode | |
| @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=%WORKSPACE%\Tools\Jars\Common.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\PcdTools.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\GenBuild.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\cpptasks.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\frameworktasks.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Bin\FrameworkWizard.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Bin\MigrationTools.jar;%CLASSPATH% | |
| 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 | |
| :no_ant | |
| echo. | |
| echo !!! Please install Apache Ant, and set ANT_HOME !!! | |
| echo. | |
| goto end | |
| :no_antcontrib | |
| echo. | |
| echo !!! Please install Ant-contrib to ANT_HOME !!! | |
| echo. | |
| goto end | |
| :no_xmlbeans | |
| echo. | |
| echo !!! Please install XML Beans, and set XMLBEANS_HOME !!! | |
| echo. | |
| goto end | |
| :no_saxon8 | |
| echo. | |
| echo !!! Please copy saxon8.jar file to XMLBEANS_HOME\lib !!! | |
| echo. | |
| 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;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\xbean.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\xbean_xpath.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\xmlpublic.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8-dom.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8-xpath.jar;%CLASSPATH% | |
| set CLASSPATH=%XMLBEANS_HOME%\lib\resolver.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\SurfaceArea.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\Common.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\PcdTools.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\GenBuild.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\cpptasks.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Jars\frameworktasks.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Bin\FrameworkWizard.jar;%CLASSPATH% | |
| set CLASSPATH=%WORKSPACE%\Tools\Bin\MigrationTools.jar;%CLASSPATH% | |
| echo CLASSPATH: %CLASSPATH% | |
| goto end | |
| :Reconfig | |
| @REM | |
| @REM Reinstall all config files | |
| @REM | |
| call ant -f %WORKSPACE%\Tools\build.xml reconfig | |
| goto end | |
| :Usage | |
| echo. | |
| echo Usage: %0 [Rebuild] [ForceRebuild] [Reconfig] | |
| echo Rebuild: Incremental build, only build those updated tools; | |
| echo ForceRebuild: Rebuild all tools neither updated or not; | |
| echo Reconfig: Reinstall target.txt, tools_def.txt, FrameworkDatabase.db. | |
| echo. | |
| echo Note that target.template, tools_def.template, FrameworkDatabase.template will be | |
| echo only copied to target.txt, tools_def.txt, FrameworkDatabase.db respectively if they | |
| echo are not existed. Using option [Reconfig] to do the force copy. | |
| echo. | |
| :end | |
| @echo on | |