<?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>
