]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/TianoTools/GenFvImage/build.xml
Support building on x64 hosts.
[mirror_edk2.git] / Tools / Source / TianoTools / GenFvImage / build.xml
CommitLineData
878ddf1f 1<?xml version="1.0" ?>\r
2<!--\r
3Copyright (c) 2006, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11-->\r
12<project default="GenTool" basedir=".">\r
13<!--\r
14 EDK GenFvImage Tool\r
15 Copyright (c) 2006, Intel Corporation\r
16-->\r
17 <property name="ToolName" value="GenFvImage"/>\r
4df60ea5 18 <property name="FileSet" value="GenFvImageLib.c GenFvImageExe.c"/>\r
878ddf1f 19\r
20 <taskdef resource="cpptasks.tasks"/>\r
21 <typedef resource="cpptasks.types"/>\r
22 <taskdef resource="net/sf/antcontrib/antlib.xml"/>\r
23\r
24 <property environment="env"/>\r
25\r
26 <property name="LINK_OUTPUT_TYPE" value="static"/>\r
1507f64e 27 <property name="BUILD_DIR" value="${PACKAGE_DIR}/${ToolName}/tmp"/>\r
878ddf1f 28\r
29 <target name="GenTool" depends="init, Tool">\r
30 <echo message="Building the EDK Tool: ${ToolName}"/>\r
31 </target>\r
32\r
33 <target name="init">\r
34 <echo message="The EDK Tool: ${ToolName}"/>\r
1507f64e 35 <mkdir dir="${BUILD_DIR}"/>\r
878ddf1f 36 <if>\r
37 <equals arg1="${GCC}" arg2="cygwin"/>\r
38 <then>\r
39 <echo message="Cygwin Family"/>\r
40 <property name="ToolChain" value="gcc"/>\r
41 </then>\r
42 <elseif>\r
43 <os family="dos"/>\r
44 <then>\r
45 <echo message="Windows Family"/>\r
46 <property name="ToolChain" value="msvc"/>\r
47 </then>\r
48 </elseif>\r
49 <elseif>\r
50 <os family="unix"/>\r
51 <then>\r
52 <echo message="UNIX Family"/>\r
53 <property name="ToolChain" value="gcc"/>\r
54 </then>\r
55 </elseif>\r
56\r
57 <else>\r
58 <echo>\r
59 Unsupported Operating System\r
60 Please Contact Intel Corporation\r
61 </echo>\r
62 </else>\r
63 </if>\r
9aae8856 64 <property name="ToolChain" value="gcc"/>\r
7d828c05 65 <if>\r
66 <equals arg1="${ToolChain}" arg2="msvc"/>\r
67 <then>\r
878ddf1f 68 <property name="ext_static" value=".lib"/>\r
69 <property name="ext_dynamic" value=".dll"/>\r
70 <property name="ext_exe" value=".exe"/>\r
7d828c05 71 </then>\r
72 <elseif>\r
73 <equals arg1="${ToolChain}" arg2="gcc"/>\r
74 <then>\r
878ddf1f 75 <property name="ext_static" value=".a"/>\r
76 <property name="ext_dynamic" value=".so"/>\r
77 <property name="ext_exe" value=""/>\r
7d828c05 78 </then>\r
79 </elseif>\r
80 </if>\r
3101ac6b 81\r
9aae8856 82 <condition property="syslibdirs" value="">\r
83 <os family="mac"/>\r
84 </condition>\r
85 \r
86 <condition property="syslibs" value="">\r
87 <os family="mac"/>\r
88 </condition>\r
89 \r
c7c42e40 90 <condition property="syslibdirs" value="/lib64">\r
91 <istrue value="${x86_64_linux}"/>\r
92 </condition>\r
93 \r
9aae8856 94 <condition property="syslibdirs" value="${env.CYGWIN_HOME}/lib/e2fsprogs">\r
95 <os family="windows"/>\r
96 </condition>\r
97 \r
98 <condition property="syslibs" value="uuid">\r
99 <os family="windows"/>\r
100 </condition>\r
101 \r
102 <condition property="syslibdirs" value="/usr/lib">\r
103 <os name="Linux"/>\r
104 </condition>\r
105 \r
106 <condition property="syslibs" value="uuid">\r
107 <os name="Linux"/>\r
108 </condition>\r
109 \r
878ddf1f 110 </target>\r
111\r
1507f64e 112 <target name="Tool" depends="init, GenFvImage"/>\r
878ddf1f 113\r
dce914c0 114 <target name="GenFvImage" >\r
1507f64e 115 <cc name="${ToolChain}" objdir="${BUILD_DIR}" \r
878ddf1f 116 outfile="${BIN_DIR}/${ToolName}"\r
117 outtype="executable"\r
878ddf1f 118 optimize="speed">\r
119\r
120 <defineset>\r
121 <define name="BUILDING_TOOLS"/>\r
122 <define name="TOOL_BUILD_IA32_TARGET"/>\r
123 </defineset>\r
124 \r
125 <fileset dir="${basedir}/${ToolName}" \r
4df60ea5 126 includes="${FileSet}"/>\r
878ddf1f 127\r
128 <includepath path="${PACKAGE_DIR}/${ToolName}"/>\r
21b50a27 129 <includepath path="${PACKAGE_DIR}/Include"/>\r
c7c42e40 130 <includepath path="${PACKAGE_DIR}/Include/${HostArch}"/>\r
878ddf1f 131 <includepath path="${PACKAGE_DIR}/Common"/>\r
ce53a8c3 132 <libset dir="${LIB_DIR}" libs="CommonTools"/>\r
133\r
dce914c0 134 <linkerarg value="/nodefaultlib:libc.lib" unless="gcc"/>\r
9aae8856 135 <syslibset dir="${syslibdirs}" libs="${syslibs}" if="gcc"/>\r
dce914c0 136 <syslibset libs="RpcRT4" unless="gcc"/>\r
878ddf1f 137 </cc>\r
138 </target>\r
139\r
140 <target name="clean" depends="init">\r
141 <echo message="Removing Intermediate Files Only"/> \r
142 <delete>\r
1507f64e 143 <fileset dir="${BUILD_DIR}" includes="*.obj"/>\r
878ddf1f 144 </delete>\r
145 </target>\r
146\r
147 <target name="cleanall" depends="init">\r
148 <echo message="Removing Object Files and the Executable: ${ToolName}${ext_exe}"/> \r
149 <delete dir="${PACKAGE_DIR}/${ToolName}/tmp">\r
7d828c05 150 \r
151 <fileset dir="${BIN_DIR}" includes="${ToolName}_Ia32${ext_exe}"/>\r
878ddf1f 152 <fileset dir="${BIN_DIR}" includes="${ToolName}_X64${ext_exe}"/>\r
153 <fileset dir="${BIN_DIR}" includes="${ToolName}${ext_exe}"/>\r
7d828c05 154 <fileset dir="${BIN_DIR}" includes="${ToolName}_Ipf${ext_exe}"/>\r
878ddf1f 155 </delete>\r
156 </target>\r
157\r
158</project>\r