]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/GenFvImage/build.xml
6c9970625ef5e11d8e50c87af113e74975940ff0
[mirror_edk2.git] / Tools / Source / TianoTools / GenFvImage / build.xml
1 <?xml version="1.0" ?>
2 <!--
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
8
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.
11 -->
12 <project default="GenTool" basedir=".">
13 <!--
14 EDK GenFvImage Tool
15 Copyright (c) 2006, Intel Corporation
16 -->
17 <property name="ToolName" value="GenFvImage"/>
18 <property name="FileSet" value="BasePeCoff.c GenFvImageLib.c GenFvImageExe.c"/>
19
20 <taskdef resource="cpptasks.tasks"/>
21 <typedef resource="cpptasks.types"/>
22 <taskdef resource="net/sf/antcontrib/antlib.xml"/>
23
24 <property environment="env"/>
25
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"/>
30
31 <target name="GenTool" depends="init, Tool">
32 <echo message="Building the EDK Tool: ${ToolName}"/>
33 </target>
34
35 <target name="init">
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}"/>
40 <if>
41 <equals arg1="${GCC}" arg2="cygwin"/>
42 <then>
43 <echo message="Cygwin Family"/>
44 <property name="ToolChain" value="gcc"/>
45 </then>
46 <elseif>
47 <os family="dos"/>
48 <then>
49 <echo message="Windows Family"/>
50 <property name="ToolChain" value="msvc"/>
51 </then>
52 </elseif>
53 <elseif>
54 <os family="unix"/>
55 <then>
56 <echo message="UNIX Family"/>
57 <property name="ToolChain" value="gcc"/>
58 </then>
59 </elseif>
60
61 <else>
62 <echo>
63 Unsupported Operating System
64 Please Contact Intel Corporation
65 </echo>
66 </else>
67 </if>
68 <if>
69 <equals arg1="${ToolChain}" arg2="msvc"/>
70 <then>
71 <property name="ext_static" value=".lib"/>
72 <property name="ext_dynamic" value=".dll"/>
73 <property name="ext_exe" value=".exe"/>
74 </then>
75 <elseif>
76 <equals arg1="${ToolChain}" arg2="gcc"/>
77 <then>
78 <property name="ext_static" value=".a"/>
79 <property name="ext_dynamic" value=".so"/>
80 <property name="ext_exe" value=""/>
81 </then>
82 </elseif>
83 </if>
84 </target>
85
86 <target name="Tool" depends="init, GenFvImage, GenFvImage_IA32, GenFvImage_X64, GenFvImage_IPF"/>
87
88 <target name="GenFvImage">
89 <cc name="${ToolChain}" objdir="${BUILD_DIR_IA32}"
90 outfile="${BIN_DIR}/${ToolName}"
91 outtype="executable"
92 libtool="${haveLibtool}"
93 optimize="speed">
94
95 <defineset>
96 <define name="BUILDING_TOOLS"/>
97 <define name="TOOL_BUILD_IA32_TARGET"/>
98 </defineset>
99
100 <fileset dir="${basedir}/${ToolName}"
101 includes="${FileSet} Ia32/PeCoffLoaderEx.c"
102 defaultexcludes="TRUE"
103 excludes="*.xml *.inf"/>
104
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"/>
114
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"/>
119
120 </cc>
121 </target>
122
123 <target name="GenFvImage_IA32">
124 <cc name="${ToolChain}" objdir="${BUILD_DIR_IA32}"
125 outfile="${BIN_DIR}/${ToolName}_IA32"
126 outtype="executable"
127 libtool="${haveLibtool}"
128 optimize="speed">
129
130 <defineset>
131 <define name="BUILDING_TOOLS"/>
132 <define name="TOOL_BUILD_IA32_TARGET"/>
133 </defineset>
134
135 <fileset dir="${basedir}/${ToolName}"
136 includes="${FileSet} Ia32/PeCoffLoaderEx.c"
137 defaultexcludes="TRUE"
138 excludes="*.xml *.inf"/>
139
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"/>
149
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"/>
154
155 </cc>
156 </target>
157
158 <target name="GenFvImage_X64">
159 <cc name="${ToolChain}" objdir="${BUILD_DIR_X64}"
160 outfile="${BIN_DIR}/${ToolName}_X64"
161 outtype="executable"
162 libtool="${haveLibtool}"
163 optimize="speed">
164
165 <defineset>
166 <define name="BUILDING_TOOLS"/>
167 <define name="TOOL_BUILD_X64_TARGET"/>
168 </defineset>
169
170 <fileset dir="${basedir}/${ToolName}"
171 includes="${FileSet} x64/PeCoffLoaderEx.c"
172 defaultexcludes="TRUE"
173 excludes="*.xml *.inf"/>
174
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"/>
183
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"/>
188
189 </cc>
190 </target>
191
192 <target name="GenFvImage_IPF">
193 <cc name="${ToolChain}" objdir="${BUILD_DIR_IPF}"
194 outfile="${BIN_DIR}/${ToolName}_IPF"
195 outtype="executable"
196 libtool="${haveLibtool}"
197 optimize="speed">
198
199 <defineset>
200 <define name="BUILDING_TOOLS"/>
201 <define name="TOOL_BUILD_IPF_TARGET"/>
202 </defineset>
203
204 <fileset dir="${basedir}/${ToolName}"
205 includes="${FileSet} Ipf/PeCoffLoaderEx.c"
206 defaultexcludes="TRUE"
207 excludes="*.xml *.inf"/>
208
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"/>
217
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"/>
222
223 </cc>
224 </target>
225
226 <target name="clean" depends="init">
227 <echo message="Removing Intermediate Files Only"/>
228 <delete>
229 <fileset dir="${BUILD_DIR_IA32}" includes="*.obj"/>
230 <fileset dir="${BUILD_DIR_X64}" includes="*.obj"/>
231 <fileset dir="${BUILD_DIR_IPF}" includes="*.obj"/>
232 </delete>
233 </target>
234
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">
238
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}"/>
243 </delete>
244 </target>
245
246 </project>