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