<?xml version="1.0"?>

<project name="rif" default="usage">

<!-- DEFINITIONS -->

  <property name="SOURCE_DIR" value="." />
  <property name="CLASSES_DIR" value="." />
  <property name="JACC_JAR" value=".\lib\ilog_language_20061012.jar" />

  <path id="JACC_CLASSPATH">
    <pathelement location="." />
    <pathelement location="${JACC_JAR}" />
  </path>

  <path id="JAVAC_CLASSPATH">
    <pathelement location="." />
    <pathelement location="${JACC_JAR}" />
  </path>

<!-- TARGETS -->

  <!--
  usage:
  -->

  <target name="usage">
    <echo message="" />
    <echo message="Known targets:" />
    <echo message="  ant all   --> generation + compilation" />
    <echo message="  ant tidy  --> remove *.class file" />
    <echo message="  ant parse --> parse a file" />
  </target>

  <!--
  all:
  -->

  <target name="all"
          depends="hrl,rcl,classes"
	  description="Generate all parsers and compile them"
  </target>

  <!--
  hrl:
  -->

  <target name="hrl"
          depends="genhrl,classes"
          description="Generate the HRL parser"
  </target>

  <!--
  rcl:
  -->

  <target name="rcl"
          depends="genrcl,classes"
	  description="Generate the RCL parser"
  </target>

  <!--
  genhrl:
  -->

  <target name="genhrl" description="Generate the HRL parser">
          <echo> Generating the HRL parser </echo>
          <java classname="ilog.language.syntax.Jacc" fork="true">
            <classpath refid="JACC_CLASSPATH" />
            <arg line="-p Parser HRL" />
          </java>
  </target>

  <!--
  genrcl:
  -->

  <target name="genrcl" description="Generate the HRL parser">
          <echo> Generating the RCL parser </echo>
          <java classname="ilog.language.syntax.Jacc" fork="true">
                <classpath refid="JACC_CLASSPATH" />
                <arg line="-p Parser RCL" />
          </java>
  </target>

  <!--
  parse:
  -->

  <target name="parse" description="parse a file">
          <echo> Parse ${parsed.file} </echo>
          <java classname="ilog.rif.Main" fork="true">
                <classpath refid="JACC_CLASSPATH" />
                <arg line="${parsed.file}" />
          </java>
  </target>

  <!--
  classes:
  -->

  <target name="classes" description="Compile the parser classes">
          <echo> Compiling java files... </echo>
          <javac srcdir="${SOURCE_DIR}" destdir="${CLASSES_DIR}" debug="on" fork="true">
                  <!--include name="*.java"/-->
                  <classpath refid="JAVAC_CLASSPATH" />
          </javac>
  </target>

  <!--
  tidy:
  -->

  <target name="tidy" description="delete the compiled classes">
          <delete>
            <fileset dir="." includes="*.class"/>
          </delete>
  </target>

</project>
