]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/PeCoffLoader/build.xml
Remove the dependence to MdePkg
[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 environment="env"/>
23
24 <property name="LINK_OUTPUT_TYPE" value="static"/>
25 <property name="BUILD_DIR_IA32" value="${PACKAGE_DIR}/${LibName}/tmp/Ia32"/>
26 <property name="BUILD_DIR_X64" value="${PACKAGE_DIR}/${LibName}/tmp/X64"/>
27 <property name="BUILD_DIR_IPF" value="${PACKAGE_DIR}/${LibName}/tmp/Ipf"/>
28
29 <target name="GenTool" depends="init, Tool">
30 <echo message="Building the EDK Tool: ${LibName}"/>
31 </target>
32
33 <target name="init">
34 <echo message="The EDK Library: ${LibName}"/>
35 <mkdir dir="${BUILD_DIR_IA32}"/>
36 <mkdir dir="${BUILD_DIR_X64}"/>
37 <mkdir dir="${BUILD_DIR_IPF}"/>
38 <if>
39 <equals arg1="${GCC}" arg2="cygwin"/>
40 <then>
41 <echo message="Cygwin Family"/>
42 <property name="ToolChain" value="gcc"/>
43 </then>
44 <elseif>
45 <os family="dos"/>
46 <then>
47 <echo message="Windows Family"/>
48 <property name="ToolChain" value="msvc"/>
49 </then>
50 </elseif>
51 <elseif>
52 <os family="unix"/>
53 <then>
54 <echo message="UNIX Family"/>
55 <property name="ToolChain" value="gcc"/>
56 </then>
57 </elseif>
58
59 <else>
60 <echo>
61 Unsupported Operating System
62 Please Contact Intel Corporation
63 </echo>
64 </else>
65 </if>
66 <property name="ToolChain" value="gcc"/>
67 <if>
68 <equals arg1="${ToolChain}" arg2="msvc"/>
69 <then>
70 <property name="ext_static" value=".lib"/>
71 <property name="ext_dynamic" value=".dll"/>
72 <property name="ext_exe" value=".exe"/>
73 </then>
74 <elseif>
75 <equals arg1="${ToolChain}" arg2="gcc"/>
76 <then>
77 <property name="ext_static" value=".a"/>
78 <property name="ext_dynamic" value=".so"/>
79 <property name="ext_exe" value=""/>
80 </then>
81 </elseif>
82 </if>
83
84 <condition property="syslibdirs" value="">
85 <os family="mac"/>
86 </condition>
87
88 <condition property="syslibs" value="">
89 <os family="mac"/>
90 </condition>
91
92 <condition property="syslibdirs" value="${env.CYGWIN_HOME}/lib/e2fsprogs">
93 <os family="windows"/>
94 </condition>
95
96 <condition property="syslibs" value="uuid">
97 <os family="windows"/>
98 </condition>
99
100 <condition property="syslibdirs" value="/usr/lib">
101 <os name="Linux"/>
102 </condition>
103
104 <condition property="syslibs" value="uuid">
105 <os name="Linux"/>
106 </condition>
107
108 </target>
109
110 <target name="Tool" depends="init, PeCoffLoader_Ia32, PeCoffLoader_Ipf, PeCoffLoader_X64"/>
111
112 <target name="PeCoffLoader_Ia32" >
113 <cc name="${ToolChain}" objdir="${BUILD_DIR_IA32}"
114 outfile="${LIB_DIR}/${LibName}_Ia32"
115 outtype="static"
116 optimize="speed">
117
118 <defineset>
119 <define name="BUILDING_TOOLS"/>
120 <define name="TOOL_BUILD_IA32_TARGET"/>
121 </defineset>
122
123 <fileset dir="${basedir}/${LibName}"
124 includes="BasePeCoff.c Ia32/PeCoffLoaderEx.c" />
125
126 <includepath path="${PACKAGE_DIR}/${LibName}"/>
127 <includepath path="${PACKAGE_DIR}/Include"/>
128 <includepath path="${PACKAGE_DIR}/Include"/>
129 <includepath path="${PACKAGE_DIR}/Include/Ia32"/>
130 <includepath path="${PACKAGE_DIR}/Include/Common"/>
131 <includepath path="${PACKAGE_DIR}/Include/Protocol"/>
132 <includepath path="${PACKAGE_DIR}/Include/Library"/>
133 <includepath path="${PACKAGE_DIR}/Common"/>
134 </cc>
135 </target>
136
137 <target name="PeCoffLoader_Ipf" >
138 <cc name="${ToolChain}" objdir="${BUILD_DIR_IPF}"
139 outfile="${LIB_DIR}/${LibName}_Ipf"
140 outtype="static"
141 optimize="speed">
142
143 <defineset>
144 <define name="BUILDING_TOOLS"/>
145 <define name="TOOL_BUILD_IPF_TARGET"/>
146 </defineset>
147
148 <fileset dir="${basedir}/${LibName}"
149 includes="BasePeCoff.c Ipf/PeCoffLoaderEx.c" />
150
151 <includepath path="${PACKAGE_DIR}/${LibName}"/>
152 <includepath path="${PACKAGE_DIR}/Include"/>
153 <includepath path="${PACKAGE_DIR}/Include"/>
154 <includepath path="${PACKAGE_DIR}/Include/Ia32"/>
155 <includepath path="${PACKAGE_DIR}/Include/Common"/>
156 <includepath path="${PACKAGE_DIR}/Include/Protocol"/>
157 <includepath path="${PACKAGE_DIR}/Include/Library"/>
158 <includepath path="${PACKAGE_DIR}/Common"/>
159 </cc>
160 </target>
161
162 <target name="PeCoffLoader_X64" >
163 <cc name="${ToolChain}" objdir="${BUILD_DIR_X64}"
164 outfile="${LIB_DIR}/${LibName}_X64"
165 outtype="static"
166 optimize="speed">
167
168 <defineset>
169 <define name="BUILDING_TOOLS"/>
170 <define name="TOOL_BUILD_X64_TARGET"/>
171 </defineset>
172
173 <fileset dir="${basedir}/${LibName}"
174 includes="BasePeCoff.c X64/PeCoffLoaderEx.c" />
175
176 <includepath path="${PACKAGE_DIR}/${LibName}"/>
177 <includepath path="${PACKAGE_DIR}/Include"/>
178 <includepath path="${PACKAGE_DIR}/Include"/>
179 <includepath path="${PACKAGE_DIR}/Include/Ia32"/>
180 <includepath path="${PACKAGE_DIR}/Include/Common"/>
181 <includepath path="${PACKAGE_DIR}/Include/Protocol"/>
182 <includepath path="${PACKAGE_DIR}/Include/Library"/>
183 <includepath path="${PACKAGE_DIR}/Common"/>
184 </cc>
185 </target>
186
187
188 <target name="clean" depends="init">
189 <echo message="Removing Intermediate Files Only"/>
190 <delete>
191 <fileset dir="${BUILD_DIR_IA32}" includes="*.obj"/>
192 <fileset dir="${BUILD_DIR_X64}" includes="*.obj"/>
193 <fileset dir="${BUILD_DIR_IPF}" includes="*.obj"/>
194 </delete>
195 </target>
196
197 <target name="cleanall" depends="init">
198 <echo message="Removing Object Files and the Executable: ${LibName}${ext_exe}"/>
199 <delete dir="${PACKAGE_DIR}/${LibName}/tmp">
200 </delete>
201 </target>
202
203 </project>