mirror of https://github.com/acidanthera/audk.git
137 lines
4.1 KiB
XML
137 lines
4.1 KiB
XML
<?xml version="1.0" ?>
|
|
<!--
|
|
Copyright (c) 2006, Intel Corporation
|
|
All rights reserved. This program and the accompanying materials
|
|
are licensed and made available under the terms and conditions of the BSD License
|
|
which accompanies this distribution. The full text of the license may be found at
|
|
http://opensource.org/licenses/bsd-license.php
|
|
|
|
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
-->
|
|
<project default="GenTool" basedir=".">
|
|
<!--
|
|
EDK antlr Tool
|
|
Copyright (c) 2006, Intel Corporation
|
|
-->
|
|
<property name="ToolName" value="antlr"/>
|
|
|
|
<taskdef resource="net/sf/antcontrib/antlib.xml"/>
|
|
|
|
<target name="init">
|
|
<condition property="CheckDepends">
|
|
<uptodate targetfile="${WORKSPACE}/Tools/bin/antlr.exe">
|
|
<srcfiles dir="." includes="*.c *.h *.g"/>
|
|
</uptodate>
|
|
</condition>
|
|
<if>
|
|
<equals arg1="${CheckDepends}" arg2="true"/>
|
|
<then>
|
|
<echo message="Executable, antlr.exe, is up to date."/>
|
|
</then>
|
|
<else>
|
|
<echo message="Building the EDK Pccts Tool: ${ToolName}"/>
|
|
</else>
|
|
</if>
|
|
</target>
|
|
|
|
<target name="GenTool" depends="init" unless="CheckDepends">
|
|
<if>
|
|
<equals arg1="${ToolChain}" arg2="msvc"/>
|
|
<then>
|
|
<exec dir="${PACKAGE_DIR}/Pccts/antlr" executable="nmake" failonerror="TRUE">
|
|
<arg line="/NOLOGO"/>
|
|
<arg line="-f AntlrMS.mak"/>
|
|
</exec>
|
|
</then>
|
|
<elseif>
|
|
<istrue value="${cygwin}"/>
|
|
<then>
|
|
<exec dir="${PACKAGE_DIR}/Pccts/antlr" executable="make" failonerror="TRUE">
|
|
<arg line="-f makefile.cygwin"/>
|
|
</exec>
|
|
</then>
|
|
</elseif>
|
|
<elseif>
|
|
<istrue value="${gcc}"/>
|
|
<then>
|
|
<exec dir="${PACKAGE_DIR}/Pccts/antlr" executable="make" failonerror="TRUE">
|
|
<arg line="-s"/>
|
|
<arg line="-f makefile BIN_DIR=${BIN_DIR}"/>
|
|
</exec>
|
|
</then>
|
|
</elseif>
|
|
</if>
|
|
<echo message="The EDK Tool: ${ToolName} build has completed!"/>
|
|
</target>
|
|
|
|
<target name="clean">
|
|
<echo message="Removing Intermediate Files Only"/>
|
|
<if>
|
|
<equals arg1="${ToolChain}" arg2="msvc"/>
|
|
<then>
|
|
<exec dir="${PACKAGE_DIR}/Pccts/antlr" executable="nmake" failonerror="TRUE">
|
|
<arg line="/C"/>
|
|
<arg line="/NOLOGO"/>
|
|
<arg line="-f AntlrMS.mak clean"/>
|
|
</exec>
|
|
</then>
|
|
<elseif>
|
|
<istrue value="${cygwin}"/>
|
|
<then>
|
|
<exec dir="${PACKAGE_DIR}/Pccts/antlr" executable="make" failonerror="TRUE">
|
|
<arg line="-f makefile.cygwin clean"/>
|
|
</exec>
|
|
</then>
|
|
</elseif>
|
|
<elseif>
|
|
<istrue value="${gcc}"/>
|
|
<then>
|
|
<exec dir="${PACKAGE_DIR}/Pccts/antlr" executable="make" failonerror="TRUE">
|
|
<arg line="-s"/>
|
|
<arg line="-f makefile clean"/>
|
|
</exec>
|
|
</then>
|
|
</elseif>
|
|
</if>
|
|
</target>
|
|
|
|
<target name="cleanall">
|
|
<echo message="Removing Object Files and the Executable: ${ToolName}${ext_exe}"/>
|
|
<if>
|
|
<equals arg1="${ToolChain}" arg2="msvc"/>
|
|
<then>
|
|
<exec dir="${PACKAGE_DIR}/Pccts/antlr" executable="nmake" failonerror="FALSE">
|
|
<arg line="/C"/>
|
|
<arg line="/NOLOGO"/>
|
|
<arg line="/f AntlrMS.mak clean"/>
|
|
</exec>
|
|
</then>
|
|
<elseif>
|
|
<istrue value="${cygwin}"/>
|
|
<then>
|
|
<echo message="Building antlr with cygwin gcc"/>
|
|
<exec dir="${PACKAGE_DIR}/Pccts/antlr" executable="make" failonerror="FALSE">
|
|
<arg line="-s"/>
|
|
<arg line="-f makefile.cygwin clean"/>
|
|
</exec>
|
|
</then>
|
|
</elseif>
|
|
<elseif>
|
|
<istrue value="${gcc}"/>
|
|
<then>
|
|
<echo message="Building antlr with gcc"/>
|
|
<exec dir="${PACKAGE_DIR}/Pccts/antlr" executable="make" failonerror="FALSE">
|
|
<arg line="-s"/>
|
|
<arg line="-f makefile clean"/>
|
|
</exec>
|
|
</then>
|
|
</elseif>
|
|
</if>
|
|
<delete failonerror="false" quiet="true" includeEmptyDirs="true">
|
|
<fileset file="${BIN_DIR}/${ToolName}${ext_exe}"/>
|
|
</delete>
|
|
</target>
|
|
|
|
</project>
|