3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 <project default=
"GenTool" basedir=
".">
15 Copyright (c) 2006, Intel Corporation
17 <property name=
"ToolName" value=
"GenFvImage"/>
18 <property name=
"FileSet" value=
"GenFvImageLib.c GenFvImageExe.c"/>
20 <taskdef resource=
"cpptasks.tasks"/>
21 <typedef resource=
"cpptasks.types"/>
22 <taskdef resource=
"net/sf/antcontrib/antlib.xml"/>
24 <property environment=
"env"/>
26 <property name=
"LINK_OUTPUT_TYPE" value=
"static"/>
27 <property name=
"BUILD_DIR_IA32" value=
"${PACKAGE_DIR}/${ToolName}/tmp/Ia32"/>
28 <property name=
"BUILD_DIR_X64" value=
"${PACKAGE_DIR}/${ToolName}/tmp/X64"/>
29 <property name=
"BUILD_DIR_IPF" value=
"${PACKAGE_DIR}/${ToolName}/tmp/Ipf"/>
31 <target name=
"GenTool" depends=
"init, Tool">
32 <echo message=
"Building the EDK Tool: ${ToolName}"/>
36 <echo message=
"The EDK Tool: ${ToolName}"/>
37 <mkdir dir=
"${BUILD_DIR_IA32}"/>
38 <mkdir dir=
"${BUILD_DIR_X64}"/>
39 <mkdir dir=
"${BUILD_DIR_IPF}"/>
41 <equals arg1=
"${GCC}" arg2=
"cygwin"/>
43 <echo message=
"Cygwin Family"/>
44 <property name=
"ToolChain" value=
"gcc"/>
49 <echo message=
"Windows Family"/>
50 <property name=
"ToolChain" value=
"msvc"/>
56 <echo message=
"UNIX Family"/>
57 <property name=
"ToolChain" value=
"gcc"/>
63 Unsupported Operating System
64 Please Contact Intel Corporation
68 <property name=
"ToolChain" value=
"gcc"/>
70 <equals arg1=
"${ToolChain}" arg2=
"msvc"/>
72 <property name=
"ext_static" value=
".lib"/>
73 <property name=
"ext_dynamic" value=
".dll"/>
74 <property name=
"ext_exe" value=
".exe"/>
77 <equals arg1=
"${ToolChain}" arg2=
"gcc"/>
79 <property name=
"ext_static" value=
".a"/>
80 <property name=
"ext_dynamic" value=
".so"/>
81 <property name=
"ext_exe" value=
""/>
86 <condition property=
"syslibdirs" value=
"">
90 <condition property=
"syslibs" value=
"">
94 <condition property=
"syslibdirs" value=
"${env.CYGWIN_HOME}/lib/e2fsprogs">
95 <os family=
"windows"/>
98 <condition property=
"syslibs" value=
"uuid">
99 <os family=
"windows"/>
102 <condition property=
"syslibdirs" value=
"/usr/lib">
106 <condition property=
"syslibs" value=
"uuid">
112 <target name=
"Tool" depends=
"init, GenFvImage, GenFvImage_Ia32, GenFvImage_X64, GenFvImage_Ipf"/>
114 <target name=
"GenFvImage" >
115 <cc name=
"${ToolChain}" objdir=
"${BUILD_DIR_IA32}"
116 outfile=
"${BIN_DIR}/${ToolName}"
121 <define name=
"BUILDING_TOOLS"/>
122 <define name=
"TOOL_BUILD_IA32_TARGET"/>
125 <fileset dir=
"${basedir}/${ToolName}"
126 includes=
"${FileSet}"/>
128 <includepath path=
"${PACKAGE_DIR}/${ToolName}"/>
129 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
130 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
131 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Ia32"/>
132 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Common"/>
133 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Protocol"/>
134 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Library"/>
135 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
136 <includepath path=
"${PACKAGE_DIR}/Common"/>
137 <libset dir=
"${LIB_DIR}" libs=
"CommonTools CustomizedCompress PeCoffLoader_Ia32"/>
138 <linkerarg value=
"/nodefaultlib:libc.lib" unless=
"gcc"/>
139 <syslibset dir=
"${syslibdirs}" libs=
"${syslibs}" if=
"gcc"/>
140 <syslibset libs=
"RpcRT4" unless=
"gcc"/>
144 <target name=
"GenFvImage_Ia32">
145 <cc name=
"${ToolChain}" objdir=
"${BUILD_DIR_IA32}"
146 outfile=
"${BIN_DIR}/${ToolName}_Ia32"
151 <define name=
"BUILDING_TOOLS"/>
152 <define name=
"TOOL_BUILD_IA32_TARGET"/>
155 <fileset dir=
"${basedir}/${ToolName}"
156 includes=
"${FileSet}"/>
158 <includepath path=
"${PACKAGE_DIR}/${ToolName}"/>
159 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
160 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
161 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Ia32"/>
162 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Common"/>
163 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Protocol"/>
164 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Library"/>
165 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
166 <includepath path=
"${PACKAGE_DIR}/Common"/>
167 <libset dir=
"${LIB_DIR}" libs=
"CommonTools CustomizedCompress PeCoffLoader_Ia32"/>
168 <linkerarg value=
"/nodefaultlib:libc.lib" unless=
"gcc"/>
169 <syslibset dir=
"${syslibdirs}" libs=
"${syslibs}" if=
"gcc"/>
170 <syslibset libs=
"RpcRT4" unless=
"gcc"/>
174 <target name=
"GenFvImage_X64">
175 <cc name=
"${ToolChain}" objdir=
"${BUILD_DIR_X64}"
176 outfile=
"${BIN_DIR}/${ToolName}_X64"
181 <define name=
"BUILDING_TOOLS"/>
182 <define name=
"TOOL_BUILD_X64_TARGET"/>
185 <fileset dir=
"${basedir}/${ToolName}"
186 includes=
"${FileSet}"/>
188 <includepath path=
"${PACKAGE_DIR}/${ToolName}"/>
189 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
190 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Ia32"/>
191 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Common"/>
192 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Protocol"/>
193 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Library"/>
194 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
195 <includepath path=
"${PACKAGE_DIR}/Common"/>
196 <libset dir=
"${LIB_DIR}" libs=
"CommonTools CustomizedCompress PeCoffLoader_X64"/>
197 <linkerarg value=
"/nodefaultlib:libc.lib" unless=
"gcc"/>
198 <syslibset dir=
"${syslibdirs}" libs=
"${syslibs}" if=
"gcc"/>
199 <syslibset libs=
"RpcRT4" unless=
"gcc"/>
203 <target name=
"GenFvImage_Ipf">
204 <cc name=
"${ToolChain}" objdir=
"${BUILD_DIR_IPF}"
205 outfile=
"${BIN_DIR}/${ToolName}_Ipf"
210 <define name=
"BUILDING_TOOLS"/>
211 <define name=
"TOOL_BUILD_IPF_TARGET"/>
214 <fileset dir=
"${basedir}/${ToolName}"
215 includes=
"${FileSet}"/>
217 <includepath path=
"${PACKAGE_DIR}/${ToolName}"/>
218 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
219 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Ia32"/>
220 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Common"/>
221 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Protocol"/>
222 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Library"/>
223 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
224 <includepath path=
"${PACKAGE_DIR}/Common"/>
225 <libset dir=
"${LIB_DIR}" libs=
"CommonTools CustomizedCompress PeCoffLoader_Ipf"/>
226 <linkerarg value=
"/nodefaultlib:libc.lib" unless=
"gcc"/>
227 <syslibset dir=
"${syslibdirs}" libs=
"${syslibs}" if=
"gcc"/>
228 <syslibset libs=
"RpcRT4" unless=
"gcc"/>
232 <target name=
"clean" depends=
"init">
233 <echo message=
"Removing Intermediate Files Only"/>
235 <fileset dir=
"${BUILD_DIR_IA32}" includes=
"*.obj"/>
236 <fileset dir=
"${BUILD_DIR_X64}" includes=
"*.obj"/>
237 <fileset dir=
"${BUILD_DIR_IPF}" includes=
"*.obj"/>
241 <target name=
"cleanall" depends=
"init">
242 <echo message=
"Removing Object Files and the Executable: ${ToolName}${ext_exe}"/>
243 <delete dir=
"${PACKAGE_DIR}/${ToolName}/tmp">
245 <fileset dir=
"${BIN_DIR}" includes=
"${ToolName}_Ia32${ext_exe}"/>
246 <fileset dir=
"${BIN_DIR}" includes=
"${ToolName}_X64${ext_exe}"/>
247 <fileset dir=
"${BIN_DIR}" includes=
"${ToolName}${ext_exe}"/>
248 <fileset dir=
"${BIN_DIR}" includes=
"${ToolName}_Ipf${ext_exe}"/>