]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/PeCoffLoader/build.xml
Updated to handle cygwin/gcc and moved msvc,gcc property settings to the TianoTools...
[mirror_edk2.git] / Tools / Source / TianoTools / PeCoffLoader / 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 PeCoffLoader
15 Copyright (c) 2006, Intel Corporation
16 -->
17 <taskdef resource="cpptasks.tasks"/>
18 <typedef resource="cpptasks.types"/>
19 <taskdef resource="net/sf/antcontrib/antlib.xml"/>
20
21 <property name="LibName" value="PeCoffLoader"/>
22 <property name="LINK_OUTPUT_TYPE" value="static"/>
23 <property name="BUILD_DIR_IA32" value="${PACKAGE_DIR}/${LibName}/tmp/Ia32"/>
24 <property name="BUILD_DIR_X64" value="${PACKAGE_DIR}/${LibName}/tmp/X64"/>
25 <property name="BUILD_DIR_IPF" value="${PACKAGE_DIR}/${LibName}/tmp/Ipf"/>
26
27 <target name="GenTool" depends="init, PeCoffLoaderLib">
28 <echo message="The EDK Library: ${LibName} build has completed!"/>
29 </target>
30
31 <target name="init">
32 <echo message="Building the EDK Library: ${LibName}"/>
33 <mkdir dir="${BUILD_DIR_IA32}"/>
34 <mkdir dir="${BUILD_DIR_X64}"/>
35 <mkdir dir="${BUILD_DIR_IPF}"/>
36
37 <condition property="syslibdirs" value="">
38 <os family="mac"/>
39 </condition>
40
41 <condition property="syslibs" value="">
42 <os family="mac"/>
43 </condition>
44
45 <condition property="syslibdirs" value="${env.CYGWIN_HOME}/lib/e2fsprogs">
46 <os family="windows"/>
47 </condition>
48
49 <condition property="syslibs" value="uuid">
50 <os family="windows"/>
51 </condition>
52
53 <condition property="syslibdirs" value="/usr/lib">
54 <os name="Linux"/>
55 </condition>
56
57 <condition property="syslibs" value="uuid">
58 <os name="Linux"/>
59 </condition>
60
61 </target>
62
63 <target name="PeCoffLoaderLib" depends="init, PeCoffLoader_Ia32, PeCoffLoader_Ipf, PeCoffLoader_X64"/>
64
65 <target name="PeCoffLoader_Ia32" >
66 <cc name="${ToolChain}" objdir="${BUILD_DIR_IA32}"
67 outfile="${LIB_DIR}/${LibName}_Ia32"
68 outtype="static"
69 optimize="speed">
70
71 <defineset>
72 <define name="BUILDING_TOOLS"/>
73 <define name="TOOL_BUILD_IA32_TARGET"/>
74 </defineset>
75
76 <fileset dir="${basedir}/${LibName}"
77 includes="BasePeCoff.c Ia32/PeCoffLoaderEx.c" />
78
79 <includepath path="${PACKAGE_DIR}/${LibName}"/>
80 <includepath path="${PACKAGE_DIR}/Include"/>
81 <includepath path="${PACKAGE_DIR}/Include/Ia32"/>
82 <includepath path="${PACKAGE_DIR}/Common"/>
83 </cc>
84 </target>
85
86 <target name="PeCoffLoader_Ipf" >
87 <cc name="${ToolChain}" objdir="${BUILD_DIR_IPF}"
88 outfile="${LIB_DIR}/${LibName}_Ipf"
89 outtype="static"
90 optimize="speed">
91
92 <defineset>
93 <define name="BUILDING_TOOLS"/>
94 <define name="TOOL_BUILD_IPF_TARGET"/>
95 </defineset>
96
97 <fileset dir="${basedir}/${LibName}"
98 includes="BasePeCoff.c Ipf/PeCoffLoaderEx.c" />
99
100 <includepath path="${PACKAGE_DIR}/${LibName}"/>
101 <includepath path="${PACKAGE_DIR}/Include"/>
102 <includepath path="${PACKAGE_DIR}/Include/Ia32"/>
103 <includepath path="${PACKAGE_DIR}/Common"/>
104 </cc>
105 </target>
106
107 <target name="PeCoffLoader_X64" >
108 <cc name="${ToolChain}" objdir="${BUILD_DIR_X64}"
109 outfile="${LIB_DIR}/${LibName}_X64"
110 outtype="static"
111 optimize="speed">
112
113 <defineset>
114 <define name="BUILDING_TOOLS"/>
115 <define name="TOOL_BUILD_X64_TARGET"/>
116 </defineset>
117
118 <fileset dir="${basedir}/${LibName}"
119 includes="BasePeCoff.c X64/PeCoffLoaderEx.c" />
120
121 <includepath path="${PACKAGE_DIR}/${LibName}"/>
122 <includepath path="${PACKAGE_DIR}/Include"/>
123 <includepath path="${PACKAGE_DIR}/Include/Ia32"/>
124 <includepath path="${PACKAGE_DIR}/Common"/>
125 </cc>
126 </target>
127
128
129 <target name="clean">
130 <echo message="Removing Intermediate Files Only"/>
131 <delete>
132 <fileset dir="${BUILD_DIR_IA32}" includes="*.obj"/>
133 <fileset dir="${BUILD_DIR_X64}" includes="*.obj"/>
134 <fileset dir="${BUILD_DIR_IPF}" includes="*.obj"/>
135 </delete>
136 </target>
137
138 <target name="cleanall">
139 <echo message="Removing Object Files and the Executable: ${LibName}${ext_exe}"/>
140 <delete dir="${PACKAGE_DIR}/${LibName}/tmp">
141 </delete>
142 <delete failonerror="false" quiet="true" includeEmptyDirs="true">
143 <fileset dir="${BUILD_DIR}"/>
144 <fileset file="${LIB_DIR}/${LibName}_Ia32${ext_static}"/>
145 <fileset file="${BIN_DIR}/${LibName}_X64${ext_static}"/>
146 <fileset file="${BIN_DIR}/${LibName}_IPF${ext_static}"/>
147 </delete>
148 </target>
149
150 </project>