@REM\r
\r
@REM set following environment in this file or in command shell\r
-@REM set JAVA_HOME=C:\Java\jdk1.5.0_04\r
+@REM set JAVA_HOME=C:\Java\jdk1.5.0_06\r
@REM set ANT_HOME=C:\ANT\r
@REM set XMLBEANS_HOME=C:\xmlbeans\r
@REM set CYGWIN_HOME=C:\cygwin\r
\r
-@REM usage: edksetup.bat [Rebuild] [ForceRebuild]\r
+@REM usage: edksetup.bat [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
\r
\r
@echo off\r
\r
+@REM\r
+@REM Set the WORKSPACE to the current working directory\r
+@REM\r
+pushd .\r
+cd %~dp0\r
+set WORKSPACE=%CD%\r
+\r
+@if /I "%1"=="-h" goto Usage\r
+@if /I "%1"=="-help" goto Usage\r
+@if /I "%1"=="--help" goto Usage\r
+@if /I "%1"=="/h" goto Usage\r
+@if /I "%1"=="/?" goto Usage\r
+@if /I "%1"=="/help" goto Usage\r
+@if /I not "%1"=="--nt32" goto check_new_build\r
+if not defined VCINSTALLDIR (\r
+ if defined VS71COMNTOOLS (\r
+ call "%VS71COMNTOOLS%\vsvars32.bat"\r
+ ) else (\r
+ if defined VS80COMNTOOLS (\r
+ call "%VS80COMNTOOLS%\vsvars32.bat"\r
+ ) else (\r
+ echo.\r
+ echo !!! WARNING !!! Cannot find Visual Studio !!!\r
+ echo.\r
+ )\r
+ )\r
+)\r
+shift\r
+\r
+:check_new_build\r
+@if /I "%1"=="NewBuild" goto NewBuild\r
+\r
+:AntBuild\r
@REM\r
@REM Check the required system environment variables\r
@REM\r
:check_vc\r
if defined VCINSTALLDIR goto check_cygwin\r
if defined VS71COMNTOOLS (\r
- call "%VS71COMNTOOLS%\vsvars32.bat"\r
+ call "%VS71COMNTOOLS%\vsvars32.bat"\r
) else (\r
echo.\r
- echo !!! WARNING !!!! Cannot find Visual Studio !!!\r
+ echo !!! WARNING !!! Cannot find Visual Studio !!!\r
echo.\r
)\r
\r
set CYGWIN_HOME=c:\cygwin\r
) else (\r
echo.\r
- echo !!! WARNING !!!! Not set CYGWIN_HOME, gcc build may not be used !!!\r
+ echo !!! WARNING !!! No CYGWIN_HOME set, gcc build may not be used !!!\r
echo.\r
)\r
\r
if "%XMLBEANS_HOME%"=="" goto no_xmlbeans\r
if not exist %XMLBEANS_HOME%\lib\saxon8.jar goto no_saxon8\r
\r
-@REM\r
-@REM Set the WORKSPACE to the current working directory\r
-@REM\r
-set WORKSPACE=%CD%\r
-\r
set FRAMEWORK_TOOLS_PATH=%WORKSPACE%\Tools\bin\r
\r
+if not defined ORIGINAL_CLASSPATH set ORIGINAL_CLASSPATH=%CLASSPATH%\r
+set CLASSPATH=%ORIGINAL_CLASSPATH%\r
+\r
if defined WORKSPACE_TOOLS_PATH goto check_path\r
set PATH=%FRAMEWORK_TOOLS_PATH%;%JAVA_HOME%\bin;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin;%PATH%\r
set WORKSPACE_TOOLS_PATH=%FRAMEWORK_TOOLS_PATH%\r
\r
:path_ok\r
\r
-@if "%1"=="-h" goto Usage\r
-@if "%1"=="-help" goto Usage\r
-@if "%1"=="--help" goto Usage\r
-@if "%1"=="/h" goto Usage\r
-@if "%1"=="/?" goto Usage\r
-@if "%1"=="/help" goto Usage\r
+@if /I "%1"=="ForceRebuild" goto ForceBuild\r
+@if /I "%1"=="Reconfig" goto Reconfig\r
\r
@IF NOT EXIST "Tools\Jars\Common.jar" goto NormalBuild\r
@IF NOT EXIST "Tools\Jars\PcdTools.jar" goto NormalBuild\r
@IF NOT EXIST "Tools\bin\antlr.exe" goto NormalBuild\r
@IF NOT EXIST "Tools\bin\dlg.exe" goto NormalBuild\r
\r
-@if "%1"=="Rebuild" goto NormalBuild\r
-@if "%1"=="ForceRebuild" goto ForceBuild\r
+@if /I "%1"=="Rebuild" goto NormalBuild\r
@if NOT "%1"=="" goto Usage\r
\r
goto skipbuild\r
\r
-:ForceBuild\r
-call ant -noclasspath -f %WORKSPACE%\Tools\build.xml cleanall\r
+:ForceBuild \r
+call ant -f %WORKSPACE%\Tools\build.xml -noclasspath cleanall\r
\r
:NormalBuild\r
@REM\r
@REM Java Programs can use it.\r
@REM It needs the XMLBEANS libraries in order to compile.\r
@REM\r
-set CLASSPATH=%XMLBEANS_HOME%\lib\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xmlpublic.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\resolver.jar\r
+set CLASSPATH=%XMLBEANS_HOME%\lib;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\xbean.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\xbean_xpath.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\xmlpublic.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\resolver.jar;%CLASSPATH%\r
\r
call ant -f %WORKSPACE%\Tools\build.xml SurfaceArea\r
\r
@REM Now we can make the other Java Programs\r
@REM All of the remaining Java Programs require the SurfaceArea library to compile\r
@REM\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\SurfaceArea.jar\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\SurfaceArea.jar;%CLASSPATH%\r
\r
call ant -f %WORKSPACE%\Tools\build.xml JavaCode\r
\r
@REM We have all of the Java Programs and add-in classes created, so we can start\r
@REM using the cpp-tasks to create our tools\r
@REM\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\Common.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\PcdTools.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\GenBuild.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\frameworktasks.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\FrameworkWizard.jar\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\Common.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\PcdTools.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\GenBuild.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\cpptasks.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\frameworktasks.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Bin\FrameworkWizard.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Bin\MigrationTools.jar;%CLASSPATH%\r
\r
call ant -f %WORKSPACE%\Tools\build.xml C_Code\r
\r
echo CYGWIN_HOME: %CYGWIN_HOME%\r
echo PATH: %PATH%\r
echo.\r
-set CLASSPATH=%XMLBEANS_HOME%\lib\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xmlpublic.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar\r
-set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\resolver.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\SurfaceArea.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\Common.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\PcdTools.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\GenBuild.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\frameworktasks.jar\r
-set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\FrameworkWizard.jar\r
+set CLASSPATH=%XMLBEANS_HOME%\lib;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\xbean.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\xbean_xpath.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\xmlpublic.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8-dom.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8-xpath.jar;%CLASSPATH%\r
+set CLASSPATH=%XMLBEANS_HOME%\lib\resolver.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\SurfaceArea.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\Common.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\PcdTools.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\GenBuild.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\cpptasks.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Jars\frameworktasks.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Bin\FrameworkWizard.jar;%CLASSPATH%\r
+set CLASSPATH=%WORKSPACE%\Tools\Bin\MigrationTools.jar;%CLASSPATH%\r
echo CLASSPATH: %CLASSPATH%\r
goto end\r
\r
+:Reconfig\r
+@REM\r
+@REM Reinstall all config files\r
+@REM\r
+call ant -f %WORKSPACE%\Tools\build.xml reconfig\r
+goto end\r
+\r
:Usage\r
echo.\r
-echo Usage: %0 [Rebuild] [ForceRebuild]\r
+echo Usage: "%0 [--nt32] [NewBuild | Rebuild | ForceRebuild | Reconfig]"\r
+echo --nt32 Call vsvars32.bat for NT32 platform build\r
+echo NewBuild Using new build tools in BaseTools package\r
+echo Rebuild Incremental build, only build those updated tools (Ant build only)\r
+echo ForceRebuild Rebuild all tools neither updated or not (Ant build only)\r
+echo Reconfig Reinstall target.txt, tools_def.txt, FrameworkDatabase.db (Ant build only) \r
echo.\r
+echo Note that target.template, tools_def.template, FrameworkDatabase.template will be\r
+echo only copied to target.txt, tools_def.txt, FrameworkDatabase.db respectively if they\r
+echo are not existed. Using option [Reconfig] to do the force copy. \r
+echo.\r
+@goto end\r
+\r
+:NewBuild\r
+@IF NOT EXIST "BaseTools\toolsetup.bat" goto AntBuild\r
+if not defined EDK_TOOLS_PATH set EDK_TOOLS_PATH=%WORKSPACE%\BaseTools\r
+@call BaseTools\toolsetup.bat\r
+@goto end\r
\r
:end\r
+@popd\r
@echo on\r
\r