<?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 Pccts Tool
  Copyright (c) 2006, Intel Corporation
-->
  <property name="ToolName" value="Pccts"/>

  <taskdef resource="cpptasks.tasks"/>
  <typedef resource="cpptasks.types"/>
  <taskdef resource="net/sf/antcontrib/antlib.xml"/>

  <property environment="env"/>

  <target name="init">
    <echo message="The EDK Tool: ${ToolName}"/>
    <if>
      <equals arg1="${GCC}" arg2="cygwin"/>
      <then>
        <echo message="Cygwin Family"/>
        <property name="ToolChain" value="gcc"/>
      </then>
    <elseif>
      <os family="dos"/>
      <then>
        <echo message="Windows Family"/>
        <property name="ToolChain" value="msvc"/>
      </then>
    </elseif>
    <elseif>
      <os family="unix"/>
      <then>
        <echo message="UNIX Family"/>
        <property name="ToolChain" value="gcc"/>
      </then>
    </elseif>

    <else>
      <echo>
        Unsupported Operating System
        Please Contact Intel Corporation
      </echo>
    </else>
    </if>
    <if>
      <equals arg1="${ToolChain}" arg2="msvc"/>
      <then>
        <property name="ext_static" value=".lib"/>
        <property name="ext_dynamic" value=".dll"/>
        <property name="ext_exe" value=".exe"/>
      </then>
      <elseif>
        <equals arg1="${ToolChain}" arg2="gcc"/>
        <then>
          <property name="ext_static" value=".a"/>
          <property name="ext_dynamic" value=".so"/>
          <property name="ext_exe" value=""/>
        </then>
      </elseif>
    </if>
  </target>

  <target name="GenTool" depends="init">
    <echo message="Building the EDK Tool: ${ToolName}"/>
    <ant dir="${PACKAGE_DIR}/Pccts/antlr" inheritAll="true"/>
    <ant dir="${PACKAGE_DIR}/Pccts/dlg" inheritAll="true"/>
  </target>

  <target name="clean" depends="init">
    <ant dir="${PACKAGE_DIR}/Pccts/antlr" target="clean" inheritAll="true"/>
    <ant dir="${PACKAGE_DIR}/Pccts/dlg" target="clean" inheritAll="true"/>
  </target>

  <target name="cleanall" depends="init">
    <ant dir="${PACKAGE_DIR}/Pccts/antlr" target="cleanall" inheritAll="true"/>
    <ant dir="${PACKAGE_DIR}/Pccts/dlg" target="cleanall" inheritAll="true"/>
  </target>

</project>
