blob: adc2b6d2cd093c4aac9f426f90988d0a44cc342f [file] [log] [blame]
bbahnsen878ddf12006-04-21 22:54:32 +00001@REM
2@REM Copyright (c) 2006, Intel Corporation
3@REM All rights reserved. This program and the accompanying materials
4@REM are licensed and made available under the terms and conditions of the BSD License
5@REM which accompanies this distribution. The full text of the license may be found at
6@REM http://opensource.org/licenses/bsd-license.php
yshi8a29212b2006-05-09 06:11:05 +00007@REM
bbahnsen878ddf12006-04-21 22:54:32 +00008@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
9@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
10@REM
11
12@REM set following environment in this file or in command shell
13@REM set JAVA_HOME=C:\Java\jdk1.5.0_04
yshi8a29212b2006-05-09 06:11:05 +000014@REM set ANT_HOME=C:\ANT
15@REM set XMLBEANS_HOME=C:\xmlbeans
16@REM set CYGWIN_HOME=C:\cygwin
bbahnsen878ddf12006-04-21 22:54:32 +000017
lhauch11f009f2006-07-24 16:03:47 +000018@REM usage: edksetup.bat [Rebuild] [ForceRebuild]
lhauch302e0e42006-06-09 15:26:28 +000019@REM if the argument, skip is present, only the paths and the
20@REM test and set of environment settings are performed.
bbahnsen878ddf12006-04-21 22:54:32 +000021
22@REM ##############################################################
23@REM # You should not have to modify anything below this line
24@REM #
25
26@echo off
27
yshi8a29212b2006-05-09 06:11:05 +000028@REM
29@REM Check the required system environment variables
30@REM
31
bbahnsen878ddf12006-04-21 22:54:32 +000032:check_vc
yshi8a29212b2006-05-09 06:11:05 +000033if defined VCINSTALLDIR goto check_cygwin
bbahnsen878ddf12006-04-21 22:54:32 +000034if defined VS71COMNTOOLS (
wuyizhongb0108f02006-07-19 06:10:12 +000035 call "%VS71COMNTOOLS%\vsvars32.bat"
bbahnsen878ddf12006-04-21 22:54:32 +000036) else (
37 echo.
38 echo !!! WARNING !!!! Cannot find Visual Studio !!!
39 echo.
40)
41
yshi8a29212b2006-05-09 06:11:05 +000042:check_cygwin
43if defined CYGWIN_HOME goto check_java
44if exist c:\cygwin (
45 set CYGWIN_HOME=c:\cygwin
lhauch42b67fc2006-04-25 19:59:29 +000046) else (
yshi8a29212b2006-05-09 06:11:05 +000047 echo.
48 echo !!! WARNING !!!! Not set CYGWIN_HOME, gcc build may not be used !!!
49 echo.
bbahnsen878ddf12006-04-21 22:54:32 +000050)
51
yshi8a29212b2006-05-09 06:11:05 +000052:check_java
53if "%JAVA_HOME%"=="" goto no_jdk
54
55:check_ant
bbahnsen02996842006-04-21 23:36:37 +000056if "%ANT_HOME%"=="" goto no_ant
lhauch42b67fc2006-04-25 19:59:29 +000057if not exist %ANT_HOME%\lib\ant-contrib.jar goto no_antcontrib
58
yshi8a29212b2006-05-09 06:11:05 +000059:check_xmlbeans
bbahnsen02996842006-04-21 23:36:37 +000060if "%XMLBEANS_HOME%"=="" goto no_xmlbeans
lhauch42b67fc2006-04-25 19:59:29 +000061if not exist %XMLBEANS_HOME%\lib\saxon8.jar goto no_saxon8
62
yshi8a29212b2006-05-09 06:11:05 +000063@REM
64@REM Set the WORKSPACE to the current working directory
65@REM
66set WORKSPACE=%CD%
lhauch42b67fc2006-04-25 19:59:29 +000067
qouyang2da89682006-06-08 09:11:56 +000068set FRAMEWORK_TOOLS_PATH=%WORKSPACE%\Tools\bin
lhauch6de5f952006-06-09 18:07:09 +000069
70if defined WORKSPACE_TOOLS_PATH goto check_path
71set PATH=%FRAMEWORK_TOOLS_PATH%;%JAVA_HOME%\bin;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin;%PATH%
72set WORKSPACE_TOOLS_PATH=%FRAMEWORK_TOOLS_PATH%
lhauch11f009f2006-07-24 16:03:47 +000073echo Setting the PATH variable to include the FRAMEWORK_TOOLS_PATH for this WORKSPACE
lhauch6de5f952006-06-09 18:07:09 +000074goto path_ok
75
76:check_path
77if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto path_ok
78set PATH=%FRAMEWORK_TOOLS_PATH%;%PATH%
lhauch13681232006-08-08 19:48:49 +000079set WORKSPACE_TOOLS_PATH=%WORKSPACE%\Tools\bin
lhauch11f009f2006-07-24 16:03:47 +000080echo Resetting the PATH variable to include the FRAMEWORK_TOOLS_PATH for this WORKSPACE
lhauch6de5f952006-06-09 18:07:09 +000081
82:path_ok
83
lhauch70edbc32006-07-14 06:46:15 +000084@if "%1"=="-h" goto Usage
85@if "%1"=="-help" goto Usage
86@if "%1"=="--help" goto Usage
87@if "%1"=="/h" goto Usage
88@if "%1"=="/?" goto Usage
89@if "%1"=="/help" goto Usage
yshi8a29212b2006-05-09 06:11:05 +000090
lhauch70edbc32006-07-14 06:46:15 +000091@IF NOT EXIST "Tools\Jars\Common.jar" goto NormalBuild
klu2fb102512006-07-31 19:06:25 +000092@IF NOT EXIST "Tools\Jars\PcdTools.jar" goto NormalBuild
lhauch70edbc32006-07-14 06:46:15 +000093@IF NOT EXIST "Tools\Jars\GenBuild.jar" goto NormalBuild
94@IF NOT EXIST "Tools\Jars\SurfaceArea.jar" goto NormalBuild
95@IF NOT EXIST "Tools\Jars\cpptasks.jar" goto NormalBuild
96@IF NOT EXIST "Tools\Jars\frameworktasks.jar" goto NormalBuild
97@IF NOT EXIST "Tools\bin\FrameworkWizard.jar" goto NormalBuild
98@IF NOT EXIST "Tools\bin\CompressDll.dll" goto NormalBuild
99@IF NOT EXIST "Tools\bin\CompressDll.lib" goto NormalBuild
100@IF NOT EXIST "Tools\bin\CreateMtFile.exe" goto NormalBuild
101@IF NOT EXIST "Tools\bin\EfiCompress.exe" goto NormalBuild
102@IF NOT EXIST "Tools\bin\EfiRom.exe" goto NormalBuild
103@IF NOT EXIST "Tools\bin\FlashMap.exe" goto NormalBuild
104@IF NOT EXIST "Tools\bin\FwImage.exe" goto NormalBuild
105@IF NOT EXIST "Tools\bin\GenAcpiTable.exe" goto NormalBuild
106@IF NOT EXIST "Tools\bin\GenCRC32Section.exe" goto NormalBuild
107@IF NOT EXIST "Tools\bin\GenCapsuleHdr.exe" goto NormalBuild
108@IF NOT EXIST "Tools\bin\GenDepex.exe" goto NormalBuild
109@IF NOT EXIST "Tools\bin\GenFfsFile.exe" goto NormalBuild
110@IF NOT EXIST "Tools\bin\GenFvImage.exe" goto NormalBuild
lhauch70edbc32006-07-14 06:46:15 +0000111@IF NOT EXIST "Tools\bin\GenSection.exe" goto NormalBuild
112@IF NOT EXIST "Tools\bin\GenTEImage.exe" goto NormalBuild
113@IF NOT EXIST "Tools\bin\GuidChk.exe" goto NormalBuild
114@IF NOT EXIST "Tools\bin\MakeDeps.exe" goto NormalBuild
115@IF NOT EXIST "Tools\bin\ModifyInf.exe" goto NormalBuild
116@IF NOT EXIST "Tools\bin\PeiRebase_Ia32.exe" goto NormalBuild
117@IF NOT EXIST "Tools\bin\PeiRebase_Ipf.exe" goto NormalBuild
118@IF NOT EXIST "Tools\bin\PeiRebase_X64.exe" goto NormalBuild
119@IF NOT EXIST "Tools\bin\SecApResetVectorFixup.exe" goto NormalBuild
120@IF NOT EXIST "Tools\bin\SecFixup.exe" goto NormalBuild
121@IF NOT EXIST "Tools\bin\SetStamp.exe" goto NormalBuild
122@IF NOT EXIST "Tools\bin\SplitFile.exe" goto NormalBuild
123@IF NOT EXIST "Tools\bin\StrGather.exe" goto NormalBuild
124@IF NOT EXIST "Tools\bin\Strip.exe" goto NormalBuild
125@IF NOT EXIST "Tools\bin\VfrCompile.exe" goto NormalBuild
126@IF NOT EXIST "Tools\bin\ZeroDebugData.exe" goto NormalBuild
127@IF NOT EXIST "Tools\bin\antlr.exe" goto NormalBuild
128@IF NOT EXIST "Tools\bin\dlg.exe" goto NormalBuild
yshi8a29212b2006-05-09 06:11:05 +0000129
lhauch70edbc32006-07-14 06:46:15 +0000130@if "%1"=="Rebuild" goto NormalBuild
131@if "%1"=="ForceRebuild" goto ForceBuild
lhauch11f009f2006-07-24 16:03:47 +0000132@if NOT "%1"=="" goto Usage
lhauch70edbc32006-07-14 06:46:15 +0000133
134goto skipbuild
135
136:ForceBuild
lhauch80d1b382006-08-07 22:17:13 +0000137call ant -noclasspath -f %WORKSPACE%\Tools\build.xml cleanall
lhauch70edbc32006-07-14 06:46:15 +0000138
139:NormalBuild
yshi8a29212b2006-05-09 06:11:05 +0000140@REM
141@REM Start to build the Framework Tools
142@REM
143
144echo.
145echo Building the Framework Tools
146echo.
147
148@REM
149@REM We are going to create the SurfaceArea.jar file first so that the other
150@REM Java Programs can use it.
151@REM It needs the XMLBEANS libraries in order to compile.
152@REM
lhauchf907f572006-07-14 07:49:16 +0000153set CLASSPATH=%XMLBEANS_HOME%\lib
lhauch70edbc32006-07-14 06:46:15 +0000154set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar
155set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean.jar
156set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar
157set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xmlpublic.jar
158set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar
159set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\resolver.jar
bbahnsen878ddf12006-04-21 22:54:32 +0000160
yshi8a29212b2006-05-09 06:11:05 +0000161call ant -f %WORKSPACE%\Tools\build.xml SurfaceArea
bbahnsen878ddf12006-04-21 22:54:32 +0000162
yshi8a29212b2006-05-09 06:11:05 +0000163@REM
bbahnsen878ddf12006-04-21 22:54:32 +0000164@REM Now we can make the other Java Programs
lhauch53cef582006-04-28 19:32:18 +0000165@REM All of the remaining Java Programs require the SurfaceArea library to compile
yshi8a29212b2006-05-09 06:11:05 +0000166@REM
lhauch70edbc32006-07-14 06:46:15 +0000167set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\SurfaceArea.jar
qouyangb9546cc2006-06-20 11:57:17 +0000168
yshi8a29212b2006-05-09 06:11:05 +0000169call ant -f %WORKSPACE%\Tools\build.xml JavaCode
bbahnsen878ddf12006-04-21 22:54:32 +0000170
yshi8a29212b2006-05-09 06:11:05 +0000171@REM
172@REM We have all of the Java Programs and add-in classes created, so we can start
173@REM using the cpp-tasks to create our tools
174@REM
qouyangb9546cc2006-06-20 11:57:17 +0000175set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\Common.jar
klu2d14ebb42006-07-31 18:55:26 +0000176set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\PcdTools.jar
lhauch302e0e42006-06-09 15:26:28 +0000177set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\GenBuild.jar
lhauch08e4a412006-07-08 13:59:19 +0000178set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar
179set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\frameworktasks.jar
hche10xda1508d2006-07-13 01:16:51 +0000180set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\FrameworkWizard.jar
alfred3ecfb292006-08-10 09:33:40 +0000181set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\MigrationTools.jar
bbahnsen878ddf12006-04-21 22:54:32 +0000182
yshi8a29212b2006-05-09 06:11:05 +0000183call ant -f %WORKSPACE%\Tools\build.xml C_Code
bbahnsen878ddf12006-04-21 22:54:32 +0000184
yshi8a29212b2006-05-09 06:11:05 +0000185@REM
186@REM Done!!!
187@REM
bbahnsen878ddf12006-04-21 22:54:32 +0000188goto end
189
190:no_jdk
191echo.
bbahnsen02996842006-04-21 23:36:37 +0000192echo !!! Please install Java, and set JAVA_HOME !!!
193echo.
yshi8a29212b2006-05-09 06:11:05 +0000194goto end
bbahnsen02996842006-04-21 23:36:37 +0000195
196:no_ant
197echo.
198echo !!! Please install Apache Ant, and set ANT_HOME !!!
199echo.
yshi8a29212b2006-05-09 06:11:05 +0000200goto end
bbahnsen02996842006-04-21 23:36:37 +0000201
lhauch42b67fc2006-04-25 19:59:29 +0000202:no_antcontrib
203echo.
204echo !!! Please install Ant-contrib to ANT_HOME !!!
205echo.
yshi8a29212b2006-05-09 06:11:05 +0000206goto end
lhauch42b67fc2006-04-25 19:59:29 +0000207
bbahnsen02996842006-04-21 23:36:37 +0000208:no_xmlbeans
209echo.
210echo !!! Please install XML Beans, and set XMLBEANS_HOME !!!
bbahnsen878ddf12006-04-21 22:54:32 +0000211echo.
yshi8a29212b2006-05-09 06:11:05 +0000212goto end
bbahnsen878ddf12006-04-21 22:54:32 +0000213
lhauch42b67fc2006-04-25 19:59:29 +0000214:no_saxon8
215echo.
216echo !!! Please copy saxon8.jar file to XMLBEANS_HOME\lib !!!
217echo.
yshi8a29212b2006-05-09 06:11:05 +0000218goto end
lhauch42b67fc2006-04-25 19:59:29 +0000219
lhauch302e0e42006-06-09 15:26:28 +0000220:skipbuild
221@REM
222@REM This just sets up the CLASSPATH, the rest of the environment should have been set already.
223@REM
lhauch302e0e42006-06-09 15:26:28 +0000224echo.
lhauch6de5f952006-06-09 18:07:09 +0000225echo WORKSPACE: %WORKSPACE%
lhauch302e0e42006-06-09 15:26:28 +0000226echo JAVA_HOME: %JAVA_HOME%
227echo ANT_HOME: %ANT_HOME%
228echo XMLBEANS_HOME: %XMLBEANS_HOME%
229echo CYGWIN_HOME: %CYGWIN_HOME%
lhauch302e0e42006-06-09 15:26:28 +0000230echo PATH: %PATH%
231echo.
lhauchf907f572006-07-14 07:49:16 +0000232set CLASSPATH=%XMLBEANS_HOME%\lib
lhauch70edbc32006-07-14 06:46:15 +0000233set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar
234set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean.jar
235set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar
236set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xmlpublic.jar
237set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar
238set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\resolver.jar
lhauch08e4a412006-07-08 13:59:19 +0000239set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\SurfaceArea.jar
lhauch70edbc32006-07-14 06:46:15 +0000240set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\Common.jar
klu2d14ebb42006-07-31 18:55:26 +0000241set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\PcdTools.jar
lhauch70edbc32006-07-14 06:46:15 +0000242set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\GenBuild.jar
243set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar
244set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\frameworktasks.jar
245set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\FrameworkWizard.jar
alfred19151032006-08-14 05:03:11 +0000246set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\MigrationTools.jar
lhauch11f009f2006-07-24 16:03:47 +0000247echo CLASSPATH: %CLASSPATH%
lhauch302e0e42006-06-09 15:26:28 +0000248goto end
249
lhauch70edbc32006-07-14 06:46:15 +0000250:Usage
251echo.
252echo Usage: %0 [Rebuild] [ForceRebuild]
253echo.
254
bbahnsen878ddf12006-04-21 22:54:32 +0000255:end
256@echo on
257