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=
"BasePeCoff.c 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
69 <equals arg1=
"${ToolChain}" arg2=
"msvc"/>
71 <property name=
"ext_static" value=
".lib"/>
72 <property name=
"ext_dynamic" value=
".dll"/>
73 <property name=
"ext_exe" value=
".exe"/>
76 <equals arg1=
"${ToolChain}" arg2=
"gcc"/>
78 <property name=
"ext_static" value=
".a"/>
79 <property name=
"ext_dynamic" value=
".so"/>
80 <property name=
"ext_exe" value=
""/>
86 <target name=
"Tool" depends=
"init, GenFvImage, GenFvImage_Ia32, GenFvImage_X64, GenFvImage_Ipf"/>
88 <target name=
"GenFvImage">
89 <cc name=
"${ToolChain}" objdir=
"${BUILD_DIR_IA32}"
90 outfile=
"${BIN_DIR}/${ToolName}"
92 libtool=
"${haveLibtool}"
96 <define name=
"BUILDING_TOOLS"/>
97 <define name=
"TOOL_BUILD_IA32_TARGET"/>
100 <fileset dir=
"${basedir}/${ToolName}"
101 includes=
"${FileSet} Ia32/PeCoffLoaderEx.c"
102 defaultexcludes=
"TRUE"
103 excludes=
"*.xml *.inf"/>
105 <includepath path=
"${PACKAGE_DIR}/${ToolName}"/>
106 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
107 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
108 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Ia32"/>
109 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Common"/>
110 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Protocol"/>
111 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Library"/>
112 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
113 <includepath path=
"${PACKAGE_DIR}/Common"/>
115 <linkerarg value=
"${LIB_DIR}/CommonTools.lib"/>
116 <linkerarg value=
"${LIB_DIR}/CustomizedCompress.lib"/>
117 <linkerarg value=
"/nodefaultlib:libc.lib"/>
118 <linkerarg value=
"RpcRT4.Lib"/>
123 <target name=
"GenFvImage_Ia32">
124 <cc name=
"${ToolChain}" objdir=
"${BUILD_DIR_IA32}"
125 outfile=
"${BIN_DIR}/${ToolName}_Ia32"
127 libtool=
"${haveLibtool}"
131 <define name=
"BUILDING_TOOLS"/>
132 <define name=
"TOOL_BUILD_IA32_TARGET"/>
135 <fileset dir=
"${basedir}/${ToolName}"
136 includes=
"${FileSet} Ia32/PeCoffLoaderEx.c"
137 defaultexcludes=
"TRUE"
138 excludes=
"*.xml *.inf"/>
140 <includepath path=
"${PACKAGE_DIR}/${ToolName}"/>
141 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
142 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
143 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Ia32"/>
144 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Common"/>
145 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Protocol"/>
146 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Library"/>
147 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
148 <includepath path=
"${PACKAGE_DIR}/Common"/>
150 <linkerarg value=
"${LIB_DIR}/CommonTools.lib"/>
151 <linkerarg value=
"${LIB_DIR}/CustomizedCompress.lib"/>
152 <linkerarg value=
"/nodefaultlib:libc.lib"/>
153 <linkerarg value=
"RpcRT4.Lib"/>
158 <target name=
"GenFvImage_X64">
159 <cc name=
"${ToolChain}" objdir=
"${BUILD_DIR_X64}"
160 outfile=
"${BIN_DIR}/${ToolName}_X64"
162 libtool=
"${haveLibtool}"
166 <define name=
"BUILDING_TOOLS"/>
167 <define name=
"TOOL_BUILD_X64_TARGET"/>
170 <fileset dir=
"${basedir}/${ToolName}"
171 includes=
"${FileSet} X64/PeCoffLoaderEx.c"
172 defaultexcludes=
"TRUE"
173 excludes=
"*.xml *.inf"/>
175 <includepath path=
"${PACKAGE_DIR}/${ToolName}"/>
176 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
177 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Ia32"/>
178 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Common"/>
179 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Protocol"/>
180 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Library"/>
181 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
182 <includepath path=
"${PACKAGE_DIR}/Common"/>
184 <linkerarg value=
"${LIB_DIR}/CommonTools.lib"/>
185 <linkerarg value=
"${LIB_DIR}/CustomizedCompress.lib"/>
186 <linkerarg value=
"/nodefaultlib:libc.lib"/>
187 <linkerarg value=
"RpcRT4.Lib"/>
192 <target name=
"GenFvImage_Ipf">
193 <cc name=
"${ToolChain}" objdir=
"${BUILD_DIR_IPF}"
194 outfile=
"${BIN_DIR}/${ToolName}_Ipf"
196 libtool=
"${haveLibtool}"
200 <define name=
"BUILDING_TOOLS"/>
201 <define name=
"TOOL_BUILD_IPF_TARGET"/>
204 <fileset dir=
"${basedir}/${ToolName}"
205 includes=
"${FileSet} Ipf/PeCoffLoaderEx.c"
206 defaultexcludes=
"TRUE"
207 excludes=
"*.xml *.inf"/>
209 <includepath path=
"${PACKAGE_DIR}/${ToolName}"/>
210 <includepath path=
"${env.WORKSPACE}/MdePkg/Include"/>
211 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Ia32"/>
212 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Common"/>
213 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Protocol"/>
214 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/Library"/>
215 <includepath path=
"${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
216 <includepath path=
"${PACKAGE_DIR}/Common"/>
218 <linkerarg value=
"${LIB_DIR}/CommonTools.lib"/>
219 <linkerarg value=
"${LIB_DIR}/CustomizedCompress.lib"/>
220 <linkerarg value=
"/nodefaultlib:libc.lib"/>
221 <linkerarg value=
"RpcRT4.Lib"/>
226 <target name=
"clean" depends=
"init">
227 <echo message=
"Removing Intermediate Files Only"/>
229 <fileset dir=
"${BUILD_DIR_IA32}" includes=
"*.obj"/>
230 <fileset dir=
"${BUILD_DIR_X64}" includes=
"*.obj"/>
231 <fileset dir=
"${BUILD_DIR_IPF}" includes=
"*.obj"/>
235 <target name=
"cleanall" depends=
"init">
236 <echo message=
"Removing Object Files and the Executable: ${ToolName}${ext_exe}"/>
237 <delete dir=
"${PACKAGE_DIR}/${ToolName}/tmp">
239 <fileset dir=
"${BIN_DIR}" includes=
"${ToolName}_Ia32${ext_exe}"/>
240 <fileset dir=
"${BIN_DIR}" includes=
"${ToolName}_X64${ext_exe}"/>
241 <fileset dir=
"${BIN_DIR}" includes=
"${ToolName}${ext_exe}"/>
242 <fileset dir=
"${BIN_DIR}" includes=
"${ToolName}_Ipf${ext_exe}"/>