]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - edksetup.bat
Move registration and processing of ExitBootServices() events into UefiDriverEntryPoi...
[mirror_edk2.git] / edksetup.bat
... / ...
CommitLineData
1@REM\r
2@REM Copyright (c) 2006, Intel Corporation\r
3@REM All rights reserved. This program and the accompanying materials\r
4@REM are licensed and made available under the terms and conditions of the BSD License\r
5@REM which accompanies this distribution. The full text of the license may be found at\r
6@REM http://opensource.org/licenses/bsd-license.php\r
7@REM\r
8@REM THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
9@REM WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
10@REM\r
11\r
12@REM set following environment in this file or in command shell\r
13@REM set JAVA_HOME=C:\Java\jdk1.5.0_06\r
14@REM set ANT_HOME=C:\ANT\r
15@REM set XMLBEANS_HOME=C:\xmlbeans\r
16@REM set CYGWIN_HOME=C:\cygwin\r
17\r
18@REM usage: edksetup.bat [Rebuild] [ForceRebuild] [Reconfig]\r
19@REM if the argument, skip is present, only the paths and the\r
20@REM test and set of environment settings are performed. \r
21\r
22@REM ##############################################################\r
23@REM # You should not have to modify anything below this line\r
24@REM #\r
25\r
26@echo off\r
27\r
28@REM\r
29@REM Check the required system environment variables\r
30@REM\r
31\r
32:check_vc\r
33if defined VCINSTALLDIR goto check_cygwin\r
34if defined VS71COMNTOOLS (\r
35 call "%VS71COMNTOOLS%\vsvars32.bat"\r
36) else (\r
37 echo.\r
38 echo !!! WARNING !!!! Cannot find Visual Studio !!!\r
39 echo.\r
40)\r
41\r
42:check_cygwin\r
43if defined CYGWIN_HOME goto check_java\r
44if exist c:\cygwin (\r
45 set CYGWIN_HOME=c:\cygwin\r
46) else (\r
47 echo.\r
48 echo !!! WARNING !!!! Not set CYGWIN_HOME, gcc build may not be used !!!\r
49 echo.\r
50)\r
51\r
52:check_java\r
53if "%JAVA_HOME%"=="" goto no_jdk\r
54\r
55:check_ant\r
56if "%ANT_HOME%"=="" goto no_ant\r
57if not exist %ANT_HOME%\lib\ant-contrib.jar goto no_antcontrib\r
58\r
59:check_xmlbeans\r
60if "%XMLBEANS_HOME%"=="" goto no_xmlbeans\r
61if not exist %XMLBEANS_HOME%\lib\saxon8.jar goto no_saxon8\r
62\r
63@REM\r
64@REM Set the WORKSPACE to the current working directory\r
65@REM\r
66set WORKSPACE=%CD%\r
67\r
68set FRAMEWORK_TOOLS_PATH=%WORKSPACE%\Tools\bin\r
69\r
70if not defined ORIGINAL_CLASSPATH set ORIGINAL_CLASSPATH=%CLASSPATH%\r
71set CLASSPATH=%ORIGINAL_CLASSPATH%\r
72\r
73if defined WORKSPACE_TOOLS_PATH goto check_path\r
74set PATH=%FRAMEWORK_TOOLS_PATH%;%JAVA_HOME%\bin;%ANT_HOME%\bin;%XMLBEANS_HOME%\bin;%PATH%\r
75set WORKSPACE_TOOLS_PATH=%FRAMEWORK_TOOLS_PATH%\r
76echo Setting the PATH variable to include the FRAMEWORK_TOOLS_PATH for this WORKSPACE\r
77goto path_ok\r
78\r
79:check_path\r
80if "%FRAMEWORK_TOOLS_PATH%"=="%WORKSPACE_TOOLS_PATH%" goto path_ok\r
81set PATH=%FRAMEWORK_TOOLS_PATH%;%PATH%\r
82set WORKSPACE_TOOLS_PATH=%WORKSPACE%\Tools\bin\r
83echo Resetting the PATH variable to include the FRAMEWORK_TOOLS_PATH for this WORKSPACE\r
84\r
85:path_ok\r
86\r
87@if "%1"=="-h" goto Usage\r
88@if "%1"=="-help" goto Usage\r
89@if "%1"=="--help" goto Usage\r
90@if "%1"=="/h" goto Usage\r
91@if "%1"=="/?" goto Usage\r
92@if "%1"=="/help" goto Usage\r
93@if "%1"=="ForceRebuild" goto ForceBuild\r
94@if "%1"=="Reconfig" goto Reconfig\r
95\r
96@IF NOT EXIST "Tools\Jars\Common.jar" goto NormalBuild\r
97@IF NOT EXIST "Tools\Jars\PcdTools.jar" goto NormalBuild\r
98@IF NOT EXIST "Tools\Jars\GenBuild.jar" goto NormalBuild\r
99@IF NOT EXIST "Tools\Jars\SurfaceArea.jar" goto NormalBuild\r
100@IF NOT EXIST "Tools\Jars\cpptasks.jar" goto NormalBuild\r
101@IF NOT EXIST "Tools\Jars\frameworktasks.jar" goto NormalBuild\r
102@IF NOT EXIST "Tools\bin\FrameworkWizard.jar" goto NormalBuild\r
103@IF NOT EXIST "Tools\bin\CompressDll.dll" goto NormalBuild\r
104@IF NOT EXIST "Tools\bin\CompressDll.lib" goto NormalBuild\r
105@IF NOT EXIST "Tools\bin\CreateMtFile.exe" goto NormalBuild\r
106@IF NOT EXIST "Tools\bin\EfiCompress.exe" goto NormalBuild\r
107@IF NOT EXIST "Tools\bin\EfiRom.exe" goto NormalBuild\r
108@IF NOT EXIST "Tools\bin\FlashMap.exe" goto NormalBuild\r
109@IF NOT EXIST "Tools\bin\FwImage.exe" goto NormalBuild\r
110@IF NOT EXIST "Tools\bin\GenAcpiTable.exe" goto NormalBuild\r
111@IF NOT EXIST "Tools\bin\GenCRC32Section.exe" goto NormalBuild\r
112@IF NOT EXIST "Tools\bin\GenCapsuleHdr.exe" goto NormalBuild\r
113@IF NOT EXIST "Tools\bin\GenDepex.exe" goto NormalBuild\r
114@IF NOT EXIST "Tools\bin\GenFfsFile.exe" goto NormalBuild\r
115@IF NOT EXIST "Tools\bin\GenFvImage.exe" goto NormalBuild\r
116@IF NOT EXIST "Tools\bin\GenSection.exe" goto NormalBuild\r
117@IF NOT EXIST "Tools\bin\GenTEImage.exe" goto NormalBuild\r
118@IF NOT EXIST "Tools\bin\GuidChk.exe" goto NormalBuild\r
119@IF NOT EXIST "Tools\bin\MakeDeps.exe" goto NormalBuild\r
120@IF NOT EXIST "Tools\bin\ModifyInf.exe" goto NormalBuild\r
121@IF NOT EXIST "Tools\bin\PeiRebase_Ia32.exe" goto NormalBuild\r
122@IF NOT EXIST "Tools\bin\PeiRebase_Ipf.exe" goto NormalBuild\r
123@IF NOT EXIST "Tools\bin\PeiRebase_X64.exe" goto NormalBuild\r
124@IF NOT EXIST "Tools\bin\SecApResetVectorFixup.exe" goto NormalBuild\r
125@IF NOT EXIST "Tools\bin\SecFixup.exe" goto NormalBuild\r
126@IF NOT EXIST "Tools\bin\SetStamp.exe" goto NormalBuild\r
127@IF NOT EXIST "Tools\bin\SplitFile.exe" goto NormalBuild\r
128@IF NOT EXIST "Tools\bin\StrGather.exe" goto NormalBuild\r
129@IF NOT EXIST "Tools\bin\Strip.exe" goto NormalBuild\r
130@IF NOT EXIST "Tools\bin\VfrCompile.exe" goto NormalBuild\r
131@IF NOT EXIST "Tools\bin\ZeroDebugData.exe" goto NormalBuild\r
132@IF NOT EXIST "Tools\bin\antlr.exe" goto NormalBuild\r
133@IF NOT EXIST "Tools\bin\dlg.exe" goto NormalBuild\r
134\r
135@if "%1"=="Rebuild" goto NormalBuild\r
136@if NOT "%1"=="" goto Usage\r
137\r
138goto skipbuild\r
139\r
140:ForceBuild \r
141call ant -f %WORKSPACE%\Tools\build.xml -noclasspath cleanall\r
142\r
143:NormalBuild\r
144@REM\r
145@REM Start to build the Framework Tools\r
146@REM\r
147\r
148echo.\r
149echo Building the Framework Tools\r
150echo.\r
151\r
152@REM\r
153@REM We are going to create the SurfaceArea.jar file first so that the other\r
154@REM Java Programs can use it.\r
155@REM It needs the XMLBEANS libraries in order to compile.\r
156@REM\r
157set CLASSPATH=%XMLBEANS_HOME%\lib;%CLASSPATH%\r
158set CLASSPATH=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar;%CLASSPATH%\r
159set CLASSPATH=%XMLBEANS_HOME%\lib\xbean.jar;%CLASSPATH%\r
160set CLASSPATH=%XMLBEANS_HOME%\lib\xbean_xpath.jar;%CLASSPATH%\r
161set CLASSPATH=%XMLBEANS_HOME%\lib\xmlpublic.jar;%CLASSPATH%\r
162set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8.jar;%CLASSPATH%\r
163set CLASSPATH=%XMLBEANS_HOME%\lib\resolver.jar;%CLASSPATH%\r
164\r
165call ant -f %WORKSPACE%\Tools\build.xml SurfaceArea\r
166\r
167@REM\r
168@REM Now we can make the other Java Programs\r
169@REM All of the remaining Java Programs require the SurfaceArea library to compile\r
170@REM\r
171set CLASSPATH=%WORKSPACE%\Tools\Jars\SurfaceArea.jar;%CLASSPATH%\r
172\r
173call ant -f %WORKSPACE%\Tools\build.xml JavaCode\r
174\r
175@REM\r
176@REM We have all of the Java Programs and add-in classes created, so we can start\r
177@REM using the cpp-tasks to create our tools\r
178@REM\r
179set CLASSPATH=%WORKSPACE%\Tools\Jars\Common.jar;%CLASSPATH%\r
180set CLASSPATH=%WORKSPACE%\Tools\Jars\PcdTools.jar;%CLASSPATH%\r
181set CLASSPATH=%WORKSPACE%\Tools\Jars\GenBuild.jar;%CLASSPATH%\r
182set CLASSPATH=%WORKSPACE%\Tools\Jars\cpptasks.jar;%CLASSPATH%\r
183set CLASSPATH=%WORKSPACE%\Tools\Jars\frameworktasks.jar;%CLASSPATH%\r
184set CLASSPATH=%WORKSPACE%\Tools\Bin\FrameworkWizard.jar;%CLASSPATH%\r
185set CLASSPATH=%WORKSPACE%\Tools\Bin\MigrationTools.jar;%CLASSPATH%\r
186\r
187call ant -f %WORKSPACE%\Tools\build.xml C_Code\r
188\r
189@REM\r
190@REM Done!!!\r
191@REM\r
192goto end\r
193\r
194:no_jdk\r
195echo.\r
196echo !!! Please install Java, and set JAVA_HOME !!!\r
197echo.\r
198goto end\r
199\r
200:no_ant\r
201echo.\r
202echo !!! Please install Apache Ant, and set ANT_HOME !!!\r
203echo.\r
204goto end\r
205\r
206:no_antcontrib\r
207echo.\r
208echo !!! Please install Ant-contrib to ANT_HOME !!!\r
209echo.\r
210goto end\r
211\r
212:no_xmlbeans\r
213echo.\r
214echo !!! Please install XML Beans, and set XMLBEANS_HOME !!!\r
215echo.\r
216goto end\r
217\r
218:no_saxon8\r
219echo.\r
220echo !!! Please copy saxon8.jar file to XMLBEANS_HOME\lib !!!\r
221echo.\r
222goto end\r
223\r
224:skipbuild\r
225@REM\r
226@REM This just sets up the CLASSPATH, the rest of the environment should have been set already.\r
227@REM\r
228echo.\r
229echo WORKSPACE: %WORKSPACE%\r
230echo JAVA_HOME: %JAVA_HOME%\r
231echo ANT_HOME: %ANT_HOME%\r
232echo XMLBEANS_HOME: %XMLBEANS_HOME%\r
233echo CYGWIN_HOME: %CYGWIN_HOME%\r
234echo PATH: %PATH%\r
235echo.\r
236set CLASSPATH=%XMLBEANS_HOME%\lib;%CLASSPATH%\r
237set CLASSPATH=%XMLBEANS_HOME%\lib\jsr173_1.0_api.jar;%CLASSPATH%\r
238set CLASSPATH=%XMLBEANS_HOME%\lib\xbean.jar;%CLASSPATH%\r
239set CLASSPATH=%XMLBEANS_HOME%\lib\xbean_xpath.jar;%CLASSPATH%\r
240set CLASSPATH=%XMLBEANS_HOME%\lib\xmlpublic.jar;%CLASSPATH%\r
241set CLASSPATH=%XMLBEANS_HOME%\lib\saxon8.jar;%CLASSPATH%\r
242set CLASSPATH=%XMLBEANS_HOME%\lib\resolver.jar;%CLASSPATH%\r
243set CLASSPATH=%WORKSPACE%\Tools\Jars\SurfaceArea.jar;%CLASSPATH%\r
244set CLASSPATH=%WORKSPACE%\Tools\Jars\Common.jar;%CLASSPATH%\r
245set CLASSPATH=%WORKSPACE%\Tools\Jars\PcdTools.jar;%CLASSPATH%\r
246set CLASSPATH=%WORKSPACE%\Tools\Jars\GenBuild.jar;%CLASSPATH%\r
247set CLASSPATH=%WORKSPACE%\Tools\Jars\cpptasks.jar;%CLASSPATH%\r
248set CLASSPATH=%WORKSPACE%\Tools\Jars\frameworktasks.jar;%CLASSPATH%\r
249set CLASSPATH=%WORKSPACE%\Tools\Bin\FrameworkWizard.jar;%CLASSPATH%\r
250set CLASSPATH=%WORKSPACE%\Tools\Bin\MigrationTools.jar;%CLASSPATH%\r
251echo CLASSPATH: %CLASSPATH%\r
252goto end\r
253\r
254:Reconfig\r
255@REM\r
256@REM Reinstall all config files\r
257@REM\r
258call ant -f %WORKSPACE%\Tools\build.xml reconfig\r
259goto end\r
260\r
261:Usage\r
262echo.\r
263echo Usage: %0 [Rebuild] [ForceRebuild] [Reconfig]\r
264echo Rebuild: Incremental build, only build those updated tools; \r
265echo ForceRebuild: Rebuild all tools neither updated or not; \r
266echo Reconfig: Reinstall target.txt, tools_def.txt, FrameworkDatabase.db. \r
267echo.\r
268echo Note that target.template, tools_def.template, FrameworkDatabase.template will be\r
269echo only copied to target.txt, tools_def.txt, FrameworkDatabase.db respectively if they\r
270echo are not existed. Using option [Reconfig] to do the force copy. \r
271echo.\r
272\r
273:end\r
274@echo on\r
275\r