--- /dev/null
+<?xml version="1.0" ?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+-->\r
+<project default="GenTool" basedir=".">\r
+<!--\r
+ EDK String\r
+ Copyright (c) 2006, Intel Corporation\r
+-->\r
+ <taskdef resource="cpptasks.tasks"/>\r
+ <typedef resource="cpptasks.types"/>\r
+ <taskdef resource="net/sf/antcontrib/antlib.xml"/>\r
+\r
+ <property name="LibName" value="String"/>\r
+ <property environment="env"/>\r
+\r
+ <property name="LINK_OUTPUT_TYPE" value="static"/>\r
+ <property name="BUILD_DIR" value="${PACKAGE_DIR}/${LibName}/tmp"/>\r
+\r
+ <target name="GenTool" depends="init, String">\r
+ <echo message="Building the EDK Tool: ${LibName}"/>\r
+ </target>\r
+\r
+ <target name="init">\r
+ <echo message="The EDK Library: ${LibName}"/>\r
+ <mkdir dir="${BUILD_DIR}"/>\r
+ <if>\r
+ <equals arg1="${GCC}" arg2="cygwin"/>\r
+ <then>\r
+ <echo message="Cygwin Family"/>\r
+ <property name="ToolChain" value="gcc"/>\r
+ </then>\r
+ <elseif>\r
+ <os family="dos"/>\r
+ <then>\r
+ <echo message="Windows Family"/>\r
+ <property name="ToolChain" value="msvc"/>\r
+ </then>\r
+ </elseif>\r
+ <elseif>\r
+ <os family="unix"/>\r
+ <then>\r
+ <echo message="UNIX Family"/>\r
+ <property name="ToolChain" value="gcc"/>\r
+ </then>\r
+ </elseif>\r
+\r
+ <else>\r
+ <echo>\r
+ Unsupported Operating System\r
+ Please Contact Intel Corporation\r
+ </echo>\r
+ </else>\r
+ </if>\r
+ <property name="ToolChain" value="gcc"/>\r
+ <if>\r
+ <equals arg1="${ToolChain}" arg2="msvc"/>\r
+ <then>\r
+ <property name="ext_static" value=".lib"/>\r
+ <property name="ext_dynamic" value=".dll"/>\r
+ <property name="ext_exe" value=".exe"/>\r
+ </then>\r
+ <elseif>\r
+ <equals arg1="${ToolChain}" arg2="gcc"/>\r
+ <then>\r
+ <property name="ext_static" value=".a"/>\r
+ <property name="ext_dynamic" value=".so"/>\r
+ <property name="ext_exe" value=""/>\r
+ </then>\r
+ </elseif>\r
+ </if>\r
+\r
+ <condition property="syslibdirs" value="">\r
+ <os family="mac"/>\r
+ </condition>\r
+ \r
+ <condition property="syslibs" value="">\r
+ <os family="mac"/>\r
+ </condition>\r
+ \r
+ <condition property="syslibdirs" value="${env.CYGWIN_HOME}/lib/e2fsprogs">\r
+ <os family="windows"/>\r
+ </condition>\r
+ \r
+ <condition property="syslibs" value="uuid">\r
+ <os family="windows"/>\r
+ </condition>\r
+ \r
+ <condition property="syslibdirs" value="/usr/lib">\r
+ <os name="Linux"/>\r
+ </condition>\r
+ \r
+ <condition property="syslibs" value="uuid">\r
+ <os name="Linux"/>\r
+ </condition>\r
+ \r
+ </target>\r
+\r
+ <target name="String" depends="init">\r
+ <cc name="${ToolChain}" objdir="${BUILD_DIR}" \r
+ outfile="${LIB_DIR}/${LibName}"\r
+ outtype="static"\r
+ optimize="speed">\r
+\r
+ <compilerarg value="-fshort-wchar" if="gcc"/>\r
+\r
+ <fileset dir="${basedir}/${LibName}" \r
+ includes="*.c" />\r
+\r
+ <includepath path="${PACKAGE_DIR}/${LibName}"/>\r
+ <includepath path="${env.WORKSPACE}/MdePkg/Include"/>\r
+ <includepath path="${env.WORKSPACE}/MdePkg/Include"/>\r
+ <includepath path="${env.WORKSPACE}/MdePkg/Include/Ia32"/>\r
+ <includepath path="${env.WORKSPACE}/MdePkg/Include/Common"/>\r
+ <includepath path="${env.WORKSPACE}/MdePkg/Include/Protocol"/>\r
+ <includepath path="${env.WORKSPACE}/MdePkg/Include/Library"/>\r
+ <includepath path="${PACKAGE_DIR}/Common"/>\r
+ </cc>\r
+ </target>\r
+\r
+\r
+ <target name="clean" depends="init">\r
+ <echo message="Removing Intermediate Files Only"/> \r
+ <delete>\r
+ <fileset dir="${BUILD_DIR}" includes="*.obj"/>\r
+ </delete>\r
+ </target>\r
+\r
+ <target name="cleanall" depends="init">\r
+ <echo message="Removing Object Files and the Executable: ${LibName}${ext_exe}"/> \r
+ <delete dir="${PACKAGE_DIR}/${LibName}/tmp">\r
+ </delete>\r
+ </target>\r
+\r
+</project>\r