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