]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/Common/build.xml
Support building on x64 hosts.
[mirror_edk2.git] / Tools / Source / TianoTools / Common / 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="CommonTools.lib" basedir=".">
13 <!--
14 EDK Common Tools Library
15 Copyright (c) 2006, Intel Corporation
16 -->
17
18 <taskdef resource="cpptasks.tasks"/>
19 <typedef resource="cpptasks.types"/>
20 <taskdef resource="net/sf/antcontrib/antlib.xml"/>
21
22 <property environment="env"/>
23 <property name="tmp" value="tmp"/>
24
25 <property name="LINK_OUTPUT_TYPE" value="static"/>
26 <property name="BUILD_DIR" value="${PACKAGE_DIR}/Common/tmp"/>
27
28 <target name="CommonTools.lib" depends="init, ToolsLibrary">
29 <echo message="Building the EDK CommonTools Library"/>
30 </target>
31
32 <target name="init">
33 <echo message="The EDK CommonTools Library"/>
34 <mkdir dir="${BUILD_DIR}"/>
35 <if>
36 <equals arg1="${GCC}" arg2="cygwin"/>
37 <then>
38 <echo message="Cygwin Family"/>
39 <property name="ToolChain" value="gcc"/>
40 </then>
41 <elseif>
42 <os family="dos"/>
43 <then>
44 <echo message="Windows Family"/>
45 <property name="ToolChain" value="msvc"/>
46 </then>
47 </elseif>
48 <elseif>
49 <os family="unix"/>
50 <then>
51 <echo message="UNIX Family"/>
52 <property name="ToolChain" value="gcc"/>
53 </then>
54 </elseif>
55
56 <else>
57 <echo>
58 Unsupported Operating System
59 Please Contact Intel Corporation
60 </echo>
61 </else>
62 </if>
63 <if>
64 <equals arg1="${ToolChain}" arg2="msvc"/>
65 <then>
66 <property name="ext_static" value=".lib"/>
67 <property name="ext_dynamic" value=".dll"/>
68 </then>
69 <elseif>
70 <equals arg1="${ToolChain}" arg2="gcc"/>
71 <then>
72 <property name="ext_static" value=".a"/>
73 <property name="ext_dynamic" value=".so"/>
74 </then>
75 </elseif>
76 </if>
77 </target>
78
79 <target name="ToolsLibrary" depends="init">
80 <cc name="${ToolChain}" objdir="${BUILD_DIR}"
81 outfile="${LIB_DIR}/CommonTools"
82 outtype="static"
83 optimize="speed">
84
85 <compilerarg value="-fPIC" if="x86_64_linux"/>
86
87 <includepath path="${PACKAGE_DIR}/Include"/>
88 <includepath path="${PACKAGE_DIR}/Include/${HostArch}"/>
89
90 <fileset dir="${basedir}/Common"
91 includes="*.c" />
92 </cc>
93 </target>
94
95 <target name="clean" depends="init">
96 <echo message="Removing Intermediate Files Only from ${BUILD_DIR}"/>
97 <delete>
98 <fileset dir="${BUILD_DIR}" includes="*.obj"/>
99 </delete>
100 </target>
101
102 <target name="cleanall" depends="init">
103 <echo message="Removing Object Files and the Library: CommonTools${ext_static}"/>
104 <delete dir="${BUILD_DIR}" failonerror="false">
105 <fileset dir="${LIB_DIR}" includes="CommonTools${ext_static}"/>
106 </delete>
107 </target>
108
109 </project>