]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/GenFvImage/build.xml
58cdb610a0fa9a2b9b8a7c17b47747706867ae20
[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 optimize="speed">
93
94 <defineset>
95 <define name="BUILDING_TOOLS"/>
96 <define name="TOOL_BUILD_IA32_TARGET"/>
97 </defineset>
98
99 <fileset dir="${basedir}/${ToolName}"
100 includes="${FileSet} Ia32/PeCoffLoaderEx.c" />
101
102 <includepath path="${PACKAGE_DIR}/${ToolName}"/>
103 <includepath path="${env.WORKSPACE}/MdePkg/Include"/>
104 <includepath path="${env.WORKSPACE}/MdePkg/Include"/>
105 <includepath path="${env.WORKSPACE}/MdePkg/Include/Ia32"/>
106 <includepath path="${env.WORKSPACE}/MdePkg/Include/Common"/>
107 <includepath path="${env.WORKSPACE}/MdePkg/Include/Protocol"/>
108 <includepath path="${env.WORKSPACE}/MdePkg/Include/Library"/>
109 <includepath path="${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
110 <includepath path="${PACKAGE_DIR}/Common"/>
111 <libset dir="${LIB_DIR}" libs="CommonTools CustomizedCompress"/>
112 <linkerarg value="/nodefaultlib:libc.lib" unless="gcc"/>
113 <syslibset dir="${env.CYGWIN_HOME}/lib/e2fsprogs" libs="uuid" if="gcc"/>
114 <syslibset libs="RpcRT4" unless="gcc"/>
115 </cc>
116 </target>
117
118 <target name="GenFvImage_Ia32">
119 <cc name="${ToolChain}" objdir="${BUILD_DIR_IA32}"
120 outfile="${BIN_DIR}/${ToolName}_Ia32"
121 outtype="executable"
122 optimize="speed">
123
124 <defineset>
125 <define name="BUILDING_TOOLS"/>
126 <define name="TOOL_BUILD_IA32_TARGET"/>
127 </defineset>
128
129 <fileset dir="${basedir}/${ToolName}"
130 includes="${FileSet} Ia32/PeCoffLoaderEx.c"
131 defaultexcludes="TRUE"
132 excludes="*.xml *.inf"/>
133
134 <includepath path="${PACKAGE_DIR}/${ToolName}"/>
135 <includepath path="${env.WORKSPACE}/MdePkg/Include"/>
136 <includepath path="${env.WORKSPACE}/MdePkg/Include"/>
137 <includepath path="${env.WORKSPACE}/MdePkg/Include/Ia32"/>
138 <includepath path="${env.WORKSPACE}/MdePkg/Include/Common"/>
139 <includepath path="${env.WORKSPACE}/MdePkg/Include/Protocol"/>
140 <includepath path="${env.WORKSPACE}/MdePkg/Include/Library"/>
141 <includepath path="${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
142 <includepath path="${PACKAGE_DIR}/Common"/>
143 <libset dir="${LIB_DIR}" libs="CommonTools CustomizedCompress"/>
144 <linkerarg value="/nodefaultlib:libc.lib" unless="gcc"/>
145 <syslibset dir="${env.CYGWIN_HOME}/lib/e2fsprogs" libs="uuid" if="gcc"/>
146 <syslibset libs="RpcRT4" unless="gcc"/>
147 </cc>
148 </target>
149
150 <target name="GenFvImage_X64">
151 <cc name="${ToolChain}" objdir="${BUILD_DIR_X64}"
152 outfile="${BIN_DIR}/${ToolName}_X64"
153 outtype="executable"
154 libtool="${haveLibtool}"
155 optimize="speed">
156
157 <defineset>
158 <define name="BUILDING_TOOLS"/>
159 <define name="TOOL_BUILD_X64_TARGET"/>
160 </defineset>
161
162 <fileset dir="${basedir}/${ToolName}"
163 includes="${FileSet} X64/PeCoffLoaderEx.c"
164 defaultexcludes="TRUE"
165 excludes="*.xml *.inf"/>
166
167 <includepath path="${PACKAGE_DIR}/${ToolName}"/>
168 <includepath path="${env.WORKSPACE}/MdePkg/Include"/>
169 <includepath path="${env.WORKSPACE}/MdePkg/Include/Ia32"/>
170 <includepath path="${env.WORKSPACE}/MdePkg/Include/Common"/>
171 <includepath path="${env.WORKSPACE}/MdePkg/Include/Protocol"/>
172 <includepath path="${env.WORKSPACE}/MdePkg/Include/Library"/>
173 <includepath path="${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
174 <includepath path="${PACKAGE_DIR}/Common"/>
175 <libset dir="${LIB_DIR}" libs="CommonTools CustomizedCompress"/>
176 <linkerarg value="/nodefaultlib:libc.lib" unless="gcc"/>
177 <syslibset dir="${env.CYGWIN_HOME}/lib/e2fsprogs" libs="uuid" if="gcc"/>
178 <syslibset libs="RpcRT4" unless="gcc"/>
179 </cc>
180 </target>
181
182 <target name="GenFvImage_Ipf">
183 <cc name="${ToolChain}" objdir="${BUILD_DIR_IPF}"
184 outfile="${BIN_DIR}/${ToolName}_Ipf"
185 outtype="executable"
186 libtool="${haveLibtool}"
187 optimize="speed">
188
189 <defineset>
190 <define name="BUILDING_TOOLS"/>
191 <define name="TOOL_BUILD_IPF_TARGET"/>
192 </defineset>
193
194 <fileset dir="${basedir}/${ToolName}"
195 includes="${FileSet} Ipf/PeCoffLoaderEx.c"
196 defaultexcludes="TRUE"
197 excludes="*.xml *.inf"/>
198
199 <includepath path="${PACKAGE_DIR}/${ToolName}"/>
200 <includepath path="${env.WORKSPACE}/MdePkg/Include"/>
201 <includepath path="${env.WORKSPACE}/MdePkg/Include/Ia32"/>
202 <includepath path="${env.WORKSPACE}/MdePkg/Include/Common"/>
203 <includepath path="${env.WORKSPACE}/MdePkg/Include/Protocol"/>
204 <includepath path="${env.WORKSPACE}/MdePkg/Include/Library"/>
205 <includepath path="${env.WORKSPACE}/MdePkg/Include/ToBeRemoved"/>
206 <includepath path="${PACKAGE_DIR}/Common"/>
207 <libset dir="${LIB_DIR}" libs="CommonTools CustomizedCompress"/>
208 <linkerarg value="/nodefaultlib:libc.lib" unless="gcc"/>
209 <syslibset dir="${env.CYGWIN_HOME}/lib/e2fsprogs" libs="uuid" if="gcc"/>
210 <syslibset libs="RpcRT4" unless="gcc"/>
211 </cc>
212 </target>
213
214 <target name="clean" depends="init">
215 <echo message="Removing Intermediate Files Only"/>
216 <delete>
217 <fileset dir="${BUILD_DIR_IA32}" includes="*.obj"/>
218 <fileset dir="${BUILD_DIR_X64}" includes="*.obj"/>
219 <fileset dir="${BUILD_DIR_IPF}" includes="*.obj"/>
220 </delete>
221 </target>
222
223 <target name="cleanall" depends="init">
224 <echo message="Removing Object Files and the Executable: ${ToolName}${ext_exe}"/>
225 <delete dir="${PACKAGE_DIR}/${ToolName}/tmp">
226
227 <fileset dir="${BIN_DIR}" includes="${ToolName}_Ia32${ext_exe}"/>
228 <fileset dir="${BIN_DIR}" includes="${ToolName}_X64${ext_exe}"/>
229 <fileset dir="${BIN_DIR}" includes="${ToolName}${ext_exe}"/>
230 <fileset dir="${BIN_DIR}" includes="${ToolName}_Ipf${ext_exe}"/>
231 </delete>
232 </target>
233
234 </project>