blob: f8c1836b46b696873af0079e22a67b704c9099c8 [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
lhauch302e0e42006-06-09 15:26:28 +000018@REM usage: edksetup.bat [skip]
19@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 (
35 call "%VS71COMNTOOLS%vsvars32.bat"
36) 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%
73echo Setting the PATH variable to include the Framework_Tools_Path for this WORKSPACE
74goto path_ok
75
76:check_path
77if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto path_ok
78set PATH=%FRAMEWORK_TOOLS_PATH%;%PATH%
79set WORKSPACE_PATH=%WORKSPACE%
80echo Resetting the PATH variable to include the Framework_Tools_Path for this WORKSPACE
81
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
92@IF NOT EXIST "Tools\Jars\GenBuild.jar" goto NormalBuild
93@IF NOT EXIST "Tools\Jars\SurfaceArea.jar" goto NormalBuild
94@IF NOT EXIST "Tools\Jars\cpptasks.jar" goto NormalBuild
95@IF NOT EXIST "Tools\Jars\frameworktasks.jar" goto NormalBuild
96@IF NOT EXIST "Tools\bin\FrameworkWizard.jar" goto NormalBuild
97@IF NOT EXIST "Tools\bin\CompressDll.dll" goto NormalBuild
98@IF NOT EXIST "Tools\bin\CompressDll.lib" goto NormalBuild
99@IF NOT EXIST "Tools\bin\CreateMtFile.exe" goto NormalBuild
100@IF NOT EXIST "Tools\bin\EfiCompress.exe" goto NormalBuild
101@IF NOT EXIST "Tools\bin\EfiRom.exe" goto NormalBuild
102@IF NOT EXIST "Tools\bin\FlashMap.exe" goto NormalBuild
103@IF NOT EXIST "Tools\bin\FwImage.exe" goto NormalBuild
104@IF NOT EXIST "Tools\bin\GenAcpiTable.exe" goto NormalBuild
105@IF NOT EXIST "Tools\bin\GenCRC32Section.exe" goto NormalBuild
106@IF NOT EXIST "Tools\bin\GenCapsuleHdr.exe" goto NormalBuild
107@IF NOT EXIST "Tools\bin\GenDepex.exe" goto NormalBuild
108@IF NOT EXIST "Tools\bin\GenFfsFile.exe" goto NormalBuild
109@IF NOT EXIST "Tools\bin\GenFvImage.exe" goto NormalBuild
110@IF NOT EXIST "Tools\bin\GenFvImage_IA32.exe" goto NormalBuild
111@IF NOT EXIST "Tools\bin\GenFvImage_IPF.exe" goto NormalBuild
112@IF NOT EXIST "Tools\bin\GenSection.exe" goto NormalBuild
113@IF NOT EXIST "Tools\bin\GenTEImage.exe" goto NormalBuild
114@IF NOT EXIST "Tools\bin\GuidChk.exe" goto NormalBuild
115@IF NOT EXIST "Tools\bin\MakeDeps.exe" goto NormalBuild
116@IF NOT EXIST "Tools\bin\ModifyInf.exe" goto NormalBuild
117@IF NOT EXIST "Tools\bin\PeiRebase_Ia32.exe" goto NormalBuild
118@IF NOT EXIST "Tools\bin\PeiRebase_Ipf.exe" goto NormalBuild
119@IF NOT EXIST "Tools\bin\PeiRebase_X64.exe" goto NormalBuild
120@IF NOT EXIST "Tools\bin\SecApResetVectorFixup.exe" goto NormalBuild
121@IF NOT EXIST "Tools\bin\SecFixup.exe" goto NormalBuild
122@IF NOT EXIST "Tools\bin\SetStamp.exe" goto NormalBuild
123@IF NOT EXIST "Tools\bin\SplitFile.exe" goto NormalBuild
124@IF NOT EXIST "Tools\bin\StrGather.exe" goto NormalBuild
125@IF NOT EXIST "Tools\bin\Strip.exe" goto NormalBuild
126@IF NOT EXIST "Tools\bin\VfrCompile.exe" goto NormalBuild
127@IF NOT EXIST "Tools\bin\ZeroDebugData.exe" goto NormalBuild
128@IF NOT EXIST "Tools\bin\antlr.exe" goto NormalBuild
129@IF NOT EXIST "Tools\bin\dlg.exe" goto NormalBuild
yshi8a29212b2006-05-09 06:11:05 +0000130
lhauch70edbc32006-07-14 06:46:15 +0000131@if "%1"=="Rebuild" goto NormalBuild
132@if "%1"=="ForceRebuild" goto ForceBuild
133
134goto skipbuild
135
136:ForceBuild
137call ant -f %WORKSPACE%\Tools\build.xml cleanall
138
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
lhauch70edbc32006-07-14 06:46:15 +0000153if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto been_here
154set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib
155set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar
156set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean.jar
157set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar
158set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xmlpublic.jar
159set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar
160set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\resolver.jar
bbahnsen878ddf12006-04-21 22:54:32 +0000161
lhauch70edbc32006-07-14 06:46:15 +0000162:been_here
yshi8a29212b2006-05-09 06:11:05 +0000163call ant -f %WORKSPACE%\Tools\build.xml SurfaceArea
bbahnsen878ddf12006-04-21 22:54:32 +0000164
yshi8a29212b2006-05-09 06:11:05 +0000165@REM
bbahnsen878ddf12006-04-21 22:54:32 +0000166@REM Now we can make the other Java Programs
lhauch53cef582006-04-28 19:32:18 +0000167@REM All of the remaining Java Programs require the SurfaceArea library to compile
yshi8a29212b2006-05-09 06:11:05 +0000168@REM
lhauch70edbc32006-07-14 06:46:15 +0000169if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto been_here2
170set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\SurfaceArea.jar
171:been_here2
qouyangb9546cc2006-06-20 11:57:17 +0000172
yshi8a29212b2006-05-09 06:11:05 +0000173call ant -f %WORKSPACE%\Tools\build.xml JavaCode
bbahnsen878ddf12006-04-21 22:54:32 +0000174
yshi8a29212b2006-05-09 06:11:05 +0000175@REM
176@REM We have all of the Java Programs and add-in classes created, so we can start
177@REM using the cpp-tasks to create our tools
178@REM
lhauch70edbc32006-07-14 06:46:15 +0000179if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto been_here3
qouyangb9546cc2006-06-20 11:57:17 +0000180set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\Common.jar
lhauch302e0e42006-06-09 15:26:28 +0000181set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\GenBuild.jar
lhauch08e4a412006-07-08 13:59:19 +0000182set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar
183set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\frameworktasks.jar
hche10xda1508d2006-07-13 01:16:51 +0000184set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\FrameworkWizard.jar
lhauch70edbc32006-07-14 06:46:15 +0000185:been_here3
bbahnsen878ddf12006-04-21 22:54:32 +0000186
yshi8a29212b2006-05-09 06:11:05 +0000187call ant -f %WORKSPACE%\Tools\build.xml C_Code
bbahnsen878ddf12006-04-21 22:54:32 +0000188
yshi8a29212b2006-05-09 06:11:05 +0000189@REM
190@REM Done!!!
191@REM
bbahnsen878ddf12006-04-21 22:54:32 +0000192goto end
193
194:no_jdk
195echo.
bbahnsen02996842006-04-21 23:36:37 +0000196echo !!! Please install Java, and set JAVA_HOME !!!
197echo.
yshi8a29212b2006-05-09 06:11:05 +0000198goto end
bbahnsen02996842006-04-21 23:36:37 +0000199
200:no_ant
201echo.
202echo !!! Please install Apache Ant, and set ANT_HOME !!!
203echo.
yshi8a29212b2006-05-09 06:11:05 +0000204goto end
bbahnsen02996842006-04-21 23:36:37 +0000205
lhauch42b67fc2006-04-25 19:59:29 +0000206:no_antcontrib
207echo.
208echo !!! Please install Ant-contrib to ANT_HOME !!!
209echo.
yshi8a29212b2006-05-09 06:11:05 +0000210goto end
lhauch42b67fc2006-04-25 19:59:29 +0000211
bbahnsen02996842006-04-21 23:36:37 +0000212:no_xmlbeans
213echo.
214echo !!! Please install XML Beans, and set XMLBEANS_HOME !!!
bbahnsen878ddf12006-04-21 22:54:32 +0000215echo.
yshi8a29212b2006-05-09 06:11:05 +0000216goto end
bbahnsen878ddf12006-04-21 22:54:32 +0000217
lhauch42b67fc2006-04-25 19:59:29 +0000218:no_saxon8
219echo.
220echo !!! Please copy saxon8.jar file to XMLBEANS_HOME\lib !!!
221echo.
yshi8a29212b2006-05-09 06:11:05 +0000222goto end
lhauch42b67fc2006-04-25 19:59:29 +0000223
lhauch302e0e42006-06-09 15:26:28 +0000224:skipbuild
225@REM
226@REM This just sets up the CLASSPATH, the rest of the environment should have been set already.
227@REM
lhauch302e0e42006-06-09 15:26:28 +0000228echo.
lhauch6de5f952006-06-09 18:07:09 +0000229echo WORKSPACE: %WORKSPACE%
lhauch302e0e42006-06-09 15:26:28 +0000230echo JAVA_HOME: %JAVA_HOME%
231echo ANT_HOME: %ANT_HOME%
232echo XMLBEANS_HOME: %XMLBEANS_HOME%
233echo CYGWIN_HOME: %CYGWIN_HOME%
lhauch302e0e42006-06-09 15:26:28 +0000234echo PATH: %PATH%
235echo.
lhauch70edbc32006-07-14 06:46:15 +0000236if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto been_here4
237set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib
238set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar
239set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean.jar
240set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xbean_xpath.jar
241set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\xmlpublic.jar
242set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\saxon8.jar
243set CLASSPATH=%CLASSPATH%;%XMLBEANS_HOME%\lib\resolver.jar
lhauch08e4a412006-07-08 13:59:19 +0000244set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\SurfaceArea.jar
lhauch70edbc32006-07-14 06:46:15 +0000245set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\Common.jar
246set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\GenBuild.jar
247set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\cpptasks.jar
248set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Jars\frameworktasks.jar
249set CLASSPATH=%CLASSPATH%;%WORKSPACE%\Tools\Bin\FrameworkWizard.jar
250:been_here4
lhauch302e0e42006-06-09 15:26:28 +0000251goto end
252
lhauch70edbc32006-07-14 06:46:15 +0000253:Usage
254echo.
255echo Usage: %0 [Rebuild] [ForceRebuild]
256echo.
257
bbahnsen878ddf12006-04-21 22:54:32 +0000258:end
259@echo on
260