]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/build.xml
d17229280916c117cd28d7a2ef5a5cbb9ede3379
[mirror_edk2.git] / Tools / Source / TianoTools / build.xml
1 <?xml version="1.0" encoding="utf-8" ?>
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="all" basedir="." name="C_Code">
13 <!-- Copyright (c) 2006, Intel Corporation -->
14 <!-- Filename: Tools/Source/build.xml -->
15
16 <taskdef resource="net/sf/antcontrib/antlib.xml"/>
17
18 <property name="ReallyVerbose" value="false"/>
19 <property environment="env" />
20
21 <property name="WORKSPACE" value="${env.WORKSPACE}" />
22 <property name="WORKSPACE_DIR" value="${WORKSPACE}" />
23 <property name="PACKAGE" value="Tools" />
24 <property name="PACKAGE_DIR" value="${WORKSPACE}/Tools/Source/TianoTools" />
25 <property name="LIB_DIR" value="${PACKAGE_DIR}/Library" />
26 <property name="BIN_DIR" value="${WORKSPACE}/Tools/bin" />
27 <property name="BUILD_MODE" value="PACKAGE" />
28 <property name="Libs"
29 value="Common/build.xml CustomizedCompress/build.xml PeCoffLoader/build.xml String/build.xml"/>
30
31 <import file="${WORKSPACE_DIR}/Tools/Conf/BuildMacro.xml" />
32
33 <path id="classpath">
34 <fileset dir="${WORKSPACE}/Tools/Jars" includes="*.jar"/>
35 <fileset dir="${env.XMLBEANS_HOME}/lib" includes="*.jar"/>
36 </path>
37
38 <taskdef classpathref="classpath" resource="GenBuild.tasks" />
39 <taskdef classpathref="classpath" resource="net/sf/antcontrib/antlib.xml" />
40
41 <taskdef classpathref="classpath" resource="cpptasks.tasks"/>
42 <typedef classpathref="classpath" resource="cpptasks.types"/>
43
44 <target name="all" depends="init, Tools">
45 <echo message="The EDK II C Tools build complete!"/>
46 </target>
47
48 <target name="init">
49 <echo message="EDK C Code Tools, build initialization"/>
50 <mkdir dir="${BIN_DIR}" />
51 <mkdir dir="${LIB_DIR}" />
52
53 <condition property="HostArch" value="X64">
54 <os arch="amd64"/>
55 </condition>
56 <condition property="HostArch" value="Ia32">
57 <or>
58 <os arch="x86"/>
59 <os arch="i386"/>
60 </or>
61 </condition>
62 <condition property="HostArch" value="Ia32">
63 <os arch="i386"/>
64 </condition>
65
66 <if>
67 <os family="unix" />
68 <then>
69 <echo message="OS Family UNIX, ${HostArch}" />
70 </then>
71 <elseif>
72 <os family="dos" />
73 <then>
74 <echo message="OS Family DOS, ${HostArch}" />
75 </then>
76 </elseif>
77 <elseif>
78 <os family="mac" />
79 <then>
80 <echo message="OS Family OS X, ${HostArch}" />
81 </then>
82 </elseif>
83 <else>
84 <fail message="OS Family Unsupported, ${HostArch}" />
85 </else>
86 </if>
87
88 <if>
89 <not>
90 <isset property="ToolChain" />
91 </not>
92 <then>
93 <if>
94 <isset property="env.TOOL_CHAIN" />
95 <then>
96 <property name="ToolChain" value="${env.TOOL_CHAIN}"/>
97 </then>
98 <else>
99 <!-- Default Tool Chain is Microsoft Visual Studio -->
100 <property name="ToolChain" value="msvc"/>
101 </else>
102 </if>
103 </then>
104 </if>
105
106 <condition property="linux" value="true">
107 <os name="Linux"/>
108 </condition>
109
110 <condition property="intel_win">
111 <and>
112 <os family="dos"/>
113 <equals arg1="${ToolChain}" arg2="intel"/>
114 </and>
115 </condition>
116
117 <condition property="intel_linux">
118 <and>
119 <os name="Linux"/>
120 <equals arg1="${ToolChain}" arg2="intel"/>
121 </and>
122 </condition>
123
124 <condition property="intel_mac">
125 <and>
126 <os family="mac"/>
127 <equals arg1="${ToolChain}" arg2="intel"/>
128 </and>
129 </condition>
130
131 <condition property="gcc">
132 <and>
133 <equals arg1="${ToolChain}" arg2="gcc"/>
134 </and>
135 </condition>
136
137 <condition property="cygwin">
138 <and>
139 <os family="dos"/>
140 <equals arg1="${ToolChain}" arg2="gcc"/>
141 </and>
142 </condition>
143
144 <condition property="x86_64_linux">
145 <and>
146 <os name="Linux"/>
147 <equals arg1="${HostArch}" arg2="x64"/>
148 </and>
149 </condition>
150
151 <condition property="windows" value="true">
152 <os family="Windows"/>
153 </condition>
154
155 <condition property="OSX" value="true">
156 <os family="Mac"/>
157 </condition>
158
159 <condition property="cyglinux">
160 <or>
161 <istrue value="${linux}"/>
162 <istrue value="${cygwin}"/>
163 </or>
164 </condition>
165
166 <!-- msft is a family, used by both Microsoft and Intel Windows compiler tool chains -->
167 <condition property="msft">
168 <isfalse value="${gcc}"/>
169 </condition>
170
171 <if>
172 <istrue value="${ReallyVerbose}"/>
173 <then>
174 <echo message="Test property msvc: ${msvc}"/>
175 <echo message="Test property gcc: ${gcc}"/>
176 <echo message="Test property intel_win: ${intel_win}"/>
177 <echo message="Test property intel_linux: ${intel_linux}"/>
178 <echo message="Test property intel_mac: ${intel_mac}"/>
179 <echo message="Test property msft: ${msft}"/>
180 <echo message="Test property cygwin: ${cygwin}"/>
181 <echo message="Test property cyglinux: ${cyglinux}"/>
182 <echo message="Test property windows: ${windows}"/>
183 <echo message="Test property linux: ${linux}"/>
184 <echo message="Test property OSX: ${OSX}"/>
185 <echo message="Test property x86_64_linux: ${x86_64_linux}"/>
186 </then>
187 </if>
188
189 <property name="haveLibtool" value="false"/>
190 <if>
191 <and>
192 <not>
193 <isset property="env.CYGWIN_HOME"/>
194 </not>
195 <isset property="cygwin"/>
196 </and>
197 <then>
198 <fail message="You must set the environment variable: CYGWIN_HOME"/>
199 </then>
200 </if>
201
202 <if>
203 <istrue value="${gcc}"/>
204 <then>
205 <property name="ext_static" value=".a"/>
206 <property name="ext_dynamic" value=".so"/>
207 <if>
208 <istrue value="${cygwin}"/>
209 <then>
210 <property name="ext_exe" value=".exe"/>
211 </then>
212 <else>
213 <property name="ext_exe" value=""/>
214 </else>
215 </if>
216 </then>
217 <else>
218 <property name="ext_static" value=".lib"/>
219 <property name="ext_dynamic" value=".dll"/>
220 <property name="ext_exe" value=".exe"/>
221 </else>
222 </if>
223 </target>
224
225 <target name="Libraries" depends="init">
226 <subant target="" inheritall="true">
227 <fileset dir="${PACKAGE_DIR}"
228 includes="${Libs}"/>
229 </subant>
230 </target>
231
232 <target name="Tools" depends="Libraries">
233 <subant target="" inheritall="true">
234 <fileset dir="${PACKAGE_DIR}" includes="*/build.xml"
235 excludes="${Libs}"/>
236 </subant>
237 </target>
238
239 <target name="clean" depends="init">
240 <subant target="clean" inheritall="true">
241 <fileset dir="${PACKAGE_DIR}" includes="*/build.xml"/>
242 </subant>
243 </target>
244
245 <target name="cleanall" depends="init">
246 <subant target="cleanall" inheritall="true">
247 <fileset dir="${PACKAGE_DIR}" includes="*/build.xml"/>
248 </subant>
249 <delete dir="${LIB_DIR}"/>
250 </target>
251 </project>