]> git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/TianoTools/CompressDll/build.xml
Initial import.
[mirror_edk2.git] / Tools / Source / TianoTools / CompressDll / build.xml
1 <?xml version="1.0" encoding="UTF-8"?>
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 <!--EDK GenDepex Tool
14 Copyright (c) 2006, Intel Corporation-->
15 <property environment="env"/>
16 <property name="WORKSPACE" value="${env.WORKSPACE}"/>
17 <property name="ToolName" value="CompressDll"/>
18 <property name="LibName" value="CompressDll"/>
19 <property name="FileSet" value="CompressDll.c CompressDll.h"/>
20 <property name="LibFileSet" value="CompressDll.c DepexParser.h"/>
21 <taskdef resource="cpptasks.tasks"/>
22 <typedef resource="cpptasks.types"/>
23 <taskdef resource="net/sf/antcontrib/antlib.xml"/>
24 <property name="LINK_OUTPUT_TYPE" value="static"/>
25 <property name="BUILD_DIR" value="${WORKSPACE}/Tools/Source/TianoTools/${ToolName}/tmp"/>
26 <target name="GenTool" depends="init,Lib,Dll">
27 <echo message="Building the EDK Tool: ${ToolName}"/>
28 </target>
29 <target name="init">
30 <echo message="The EDK Tool: ${ToolName}"/>
31 <mkdir dir="${BUILD_DIR}"/>
32 <if>
33 <equals arg1="${GCC}" arg2="cygwin"/>
34 <then>
35 <echo message="Cygwin Family"/>
36 <property name="ToolChain" value="gcc"/>
37 </then>
38 <elseif>
39 <os family="dos"/>
40 <then>
41 <echo message="Windows Family"/>
42 <property name="ToolChain" value="msvc"/>
43 </then>
44 </elseif>
45 <elseif>
46 <os family="unix"/>
47 <then>
48 <echo message="UNIX Family"/>
49 <property name="ToolChain" value="gcc"/>
50 </then>
51 </elseif>
52 <else>
53 <echo>Unsupported Operating System
54 Please Contact Intel Corporation</echo>
55 </else>
56 </if>
57 <if>
58 <equals arg1="${ToolChain}" arg2="msvc"/>
59 <then>
60 <property name="ext_static" value=".lib"/>
61 <property name="ext_dynamic" value=".dll"/>
62 <property name="ext_exe" value=".exe"/>
63 </then>
64 <elseif>
65 <equals arg1="${ToolChain}" arg2="gcc"/>
66 <then>
67 <property name="ext_static" value=".a"/>
68 <property name="ext_dynamic" value=".so"/>
69 <property name="ext_exe" value=""/>
70 </then>
71 </elseif>
72 </if>
73 <condition property="CheckDepends">
74 <uptodate targetfile="${BIN_DIR}/${LibName}${ext_dynamic}">
75 <srcfiles dir="${BUILD_DIR}" includes="CommonTools.lib, CustomizedCompress.lib, CompressDll.obj"/>
76 </uptodate>
77 </condition>
78
79 </target>
80
81 <target name="Lib" depends="init">
82 <cc name="${ToolChain}" objdir="${BUILD_DIR}" outtype="static" optimize="speed">
83 <fileset dir="${ToolName}" includes="${LibFileSet}" defaultexcludes="TRUE" excludes="*.xml *.inf"/>
84 <includepath path="${env.WORKSPACE}/MdePkg/Include"/>
85 <includepath path="${env.WORKSPACE}/MdePkg/Include/Ia32"/>
86 <includepath path="${env.WORKSPACE}/MdePkg/Include/Common"/>
87 <includepath path="${PACKAGE_DIR}/Common"/>
88 <includepath path="${env.JAVA_HOME}/include"/>
89 <includepath path="${env.JAVA_HOME}/include/win32"/>
90 </cc>
91 </target>
92 <target name="Dll" unless="CheckDepends">
93 <if>
94 <os family="dos"/>
95 <then>
96 <echo message="Begin link!"/>
97 <exec dir="${BUILD_DIR}" executable="link" failonerror="false">
98 <arg line="kernel32.lib ${LIB_DIR}/CommonTools.lib ${LIB_DIR}/CustomizedCompress.lib /NOLOGO /DLL /MACHINE:I386 /OUT:${BUILD_DIR}/${LibName}${ext_dynamic} ${ToolName}"/>
99 </exec>
100 <copy todir="${BIN_DIR}" file="${BUILD_DIR}/${LibName}${ext_dynamic}"/>
101 </then>
102 </if>
103 </target>
104 <target name="clean" depends="init">
105 <echo message="Removing Intermediate Files Only"/>
106 <delete>
107 <fileset dir="${BUILD_DIR}" includes="*.obj"/>
108 </delete>
109 </target>
110 <target name="cleanall" depends="init">
111 <echo message="Removing Object Files and the Executable: ${ToolName}${ext_exe}"/>
112 <delete dir="${BUILD_DIR}">
113 <fileset dir="${BIN_DIR}" includes="${ToolName}${ext_dynamic}"/>
114 </delete>
115 </target>
116 </project>