]> git.proxmox.com Git - mirror_edk2.git/blame - 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
CommitLineData
4df60ea5 1<?xml version="1.0" ?>\r
2<!--\r
3Copyright (c) 2006, Intel Corporation\r
4All rights reserved. This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11-->\r
12<project default="GenTool" basedir=".">\r
13<!--\r
14 EDK PeCoffLoader\r
15 Copyright (c) 2006, Intel Corporation\r
16-->\r
17 <taskdef resource="cpptasks.tasks"/>\r
18 <typedef resource="cpptasks.types"/>\r
19 <taskdef resource="net/sf/antcontrib/antlib.xml"/>\r
20\r
21 <property name="LibName" value="PeCoffLoader"/>\r
4df60ea5 22 <property name="LINK_OUTPUT_TYPE" value="static"/>\r
23 <property name="BUILD_DIR_IA32" value="${PACKAGE_DIR}/${LibName}/tmp/Ia32"/>\r
24 <property name="BUILD_DIR_X64" value="${PACKAGE_DIR}/${LibName}/tmp/X64"/>\r
25 <property name="BUILD_DIR_IPF" value="${PACKAGE_DIR}/${LibName}/tmp/Ipf"/>\r
26\r
af1dd46d 27 <target name="GenTool" depends="init, PeCoffLoaderLib">\r
28 <echo message="The EDK Library: ${LibName} build has completed!"/>\r
4df60ea5 29 </target>\r
30\r
31 <target name="init">\r
af1dd46d 32 <echo message="Building the EDK Library: ${LibName}"/>\r
4df60ea5 33 <mkdir dir="${BUILD_DIR_IA32}"/>\r
34 <mkdir dir="${BUILD_DIR_X64}"/>\r
35 <mkdir dir="${BUILD_DIR_IPF}"/>\r
4df60ea5 36\r
37 <condition property="syslibdirs" value="">\r
38 <os family="mac"/>\r
39 </condition>\r
40 \r
41 <condition property="syslibs" value="">\r
42 <os family="mac"/>\r
43 </condition>\r
44 \r
45 <condition property="syslibdirs" value="${env.CYGWIN_HOME}/lib/e2fsprogs">\r
46 <os family="windows"/>\r
47 </condition>\r
48 \r
49 <condition property="syslibs" value="uuid">\r
50 <os family="windows"/>\r
51 </condition>\r
52 \r
53 <condition property="syslibdirs" value="/usr/lib">\r
54 <os name="Linux"/>\r
55 </condition>\r
56 \r
57 <condition property="syslibs" value="uuid">\r
58 <os name="Linux"/>\r
59 </condition>\r
60 \r
61 </target>\r
62\r
af1dd46d 63 <target name="PeCoffLoaderLib" depends="init, PeCoffLoader_Ia32, PeCoffLoader_Ipf, PeCoffLoader_X64"/>\r
4df60ea5 64\r
65 <target name="PeCoffLoader_Ia32" >\r
66 <cc name="${ToolChain}" objdir="${BUILD_DIR_IA32}" \r
67 outfile="${LIB_DIR}/${LibName}_Ia32"\r
68 outtype="static"\r
69 optimize="speed">\r
70\r
71 <defineset>\r
72 <define name="BUILDING_TOOLS"/>\r
73 <define name="TOOL_BUILD_IA32_TARGET"/>\r
74 </defineset>\r
75 \r
76 <fileset dir="${basedir}/${LibName}" \r
77 includes="BasePeCoff.c Ia32/PeCoffLoaderEx.c" />\r
78\r
79 <includepath path="${PACKAGE_DIR}/${LibName}"/>\r
21b50a27 80 <includepath path="${PACKAGE_DIR}/Include"/>\r
21b50a27 81 <includepath path="${PACKAGE_DIR}/Include/Ia32"/>\r
4df60ea5 82 <includepath path="${PACKAGE_DIR}/Common"/>\r
83 </cc>\r
84 </target>\r
85\r
86 <target name="PeCoffLoader_Ipf" >\r
87 <cc name="${ToolChain}" objdir="${BUILD_DIR_IPF}" \r
88 outfile="${LIB_DIR}/${LibName}_Ipf"\r
89 outtype="static"\r
90 optimize="speed">\r
91\r
92 <defineset>\r
93 <define name="BUILDING_TOOLS"/>\r
94 <define name="TOOL_BUILD_IPF_TARGET"/>\r
95 </defineset>\r
96 \r
97 <fileset dir="${basedir}/${LibName}" \r
98 includes="BasePeCoff.c Ipf/PeCoffLoaderEx.c" />\r
99\r
100 <includepath path="${PACKAGE_DIR}/${LibName}"/>\r
21b50a27 101 <includepath path="${PACKAGE_DIR}/Include"/>\r
21b50a27 102 <includepath path="${PACKAGE_DIR}/Include/Ia32"/>\r
4df60ea5 103 <includepath path="${PACKAGE_DIR}/Common"/>\r
104 </cc>\r
105 </target>\r
106\r
107 <target name="PeCoffLoader_X64" >\r
108 <cc name="${ToolChain}" objdir="${BUILD_DIR_X64}" \r
109 outfile="${LIB_DIR}/${LibName}_X64"\r
110 outtype="static"\r
111 optimize="speed">\r
112\r
113 <defineset>\r
114 <define name="BUILDING_TOOLS"/>\r
115 <define name="TOOL_BUILD_X64_TARGET"/>\r
116 </defineset>\r
117 \r
118 <fileset dir="${basedir}/${LibName}" \r
119 includes="BasePeCoff.c X64/PeCoffLoaderEx.c" />\r
120\r
121 <includepath path="${PACKAGE_DIR}/${LibName}"/>\r
21b50a27 122 <includepath path="${PACKAGE_DIR}/Include"/>\r
21b50a27 123 <includepath path="${PACKAGE_DIR}/Include/Ia32"/>\r
4df60ea5 124 <includepath path="${PACKAGE_DIR}/Common"/>\r
125 </cc>\r
126 </target>\r
127\r
128\r
af1dd46d 129 <target name="clean">\r
4df60ea5 130 <echo message="Removing Intermediate Files Only"/> \r
131 <delete>\r
132 <fileset dir="${BUILD_DIR_IA32}" includes="*.obj"/>\r
133 <fileset dir="${BUILD_DIR_X64}" includes="*.obj"/>\r
134 <fileset dir="${BUILD_DIR_IPF}" includes="*.obj"/>\r
135 </delete>\r
136 </target>\r
137\r
af1dd46d 138 <target name="cleanall">\r
4df60ea5 139 <echo message="Removing Object Files and the Executable: ${LibName}${ext_exe}"/> \r
140 <delete dir="${PACKAGE_DIR}/${LibName}/tmp">\r
141 </delete>\r
af1dd46d 142 <delete failonerror="false" quiet="true" includeEmptyDirs="true">\r
143 <fileset dir="${BUILD_DIR}"/>\r
144 <fileset file="${LIB_DIR}/${LibName}_Ia32${ext_static}"/>\r
145 <fileset file="${BIN_DIR}/${LibName}_X64${ext_static}"/>\r
146 <fileset file="${BIN_DIR}/${LibName}_IPF${ext_static}"/>\r
147 </delete>\r
4df60ea5 148 </target>\r
149\r
150</project>\r