+<?xml version="1.0" encoding="UTF-8"?>
+
+<project name="dol" default="compile" basedir=".">
+
+ <description>
+ Ant build file for DOL and its documentation.
+ </description>
+
+ <!-- ************************************************************** -->
+ <!-- properties -->
+ <!-- ************************************************************** -->
+ <!-- source directories -->
+ <property name="dol.path" value="${basedir}"/>
+ <property name="systemc.inc" value="/home/shapes/base/resources/lib/systemC/include"/>
+ <property name="systemc.lib" value="/home/shapes/base/resources/lib/systemC/lib-linux/libsystemc.a"/>
+
+ <property name="src.dir" location="src"/>
+ <property name="doc.dir" location="docs"/>
+ <property name="jars.dir" location="jars"/>
+ <property name="example.dir" location="examples"/>
+
+ <!-- build directories -->
+ <property name="build.dir" location="build"/>
+ <property name="bin.dir" location="${build.dir}/bin"/>
+ <property name="bin.main.dir" location="${bin.dir}/main"/>
+ <property name="doc.api.dir" location="${doc.dir}/api"/>
+ <property name="doc.build.dir" location="${build.dir}/docs"/>
+ <property name="expo.dir" location="../expo"/>
+
+ <!-- distribution directories -->
+ <property name="bin-dist.name" value="dol.jar"/>
+ <property name="api.name" value="SHAPES Distributed Operation Layer (DOL)"/>
+
+ <!-- jar files -->
+ <property name="jars" value=".:${jars.dir}/jdom.jar:${jars.dir}/xercesImpl.jar"/>
+
+
+ <!-- *************************************************************** -->
+ <!-- tasks -->
+ <!-- *************************************************************** -->
+ <!-- build all -->
+ <target name="all" depends="config, compile"/>
+
+ <!-- compile DOL java classes -->
+ <target name="compile">
+ <mkdir dir="${build.dir}"/>
+ <mkdir dir="${bin.dir}"/>
+ <mkdir dir="${bin.main.dir}"/>
+
+ <!-- compile dol sources -->
+ <javac destdir="${bin.main.dir}" debug="true" classpath="${jars}">
+ <src path="${src.dir}"/>
+ <compilerarg value="-Xlint:unchecked"/>
+ </javac>
+ <javac destdir="${bin.main.dir}"
+ debug="true"
+ classpath="jars/jdom.jar:jars/xercesImpl.jar">
+ <src path="test/src"/>
+ </javac>
+ <copy todir="${bin.main.dir}" file="${src.dir}/dol.properties"/>
+ <copy todir="${bin.main.dir}">
+ <fileset dir="${src.dir}"
+ includes="dol/visitor/systemC/lib/**
+ dol/visitor/hds/lib/**
+ dol/visitor/PipeAndFilter/lib/**
+ dol/visitor/hdsd/lib/**
+ dol/visitor/hdsd/scd/**
+ dol/visitor/hdsd/scd/fsm/**
+ dol/visitor/rtems/lib/**
+ dol/visitor/protothread/lib/**
+ dol/visitor/cbe/lib/**
+ dol/visitor/cbe/template/**
+ dol/visitor/cell/lib/**
+ dol/visitor/cell/template/**"/>
+ </copy>
+
+ <!-- copy example run scripts -->
+ <copy todir="${bin.main.dir}" file="examples/runexample.xml"/>
+ <copy todir="${bin.main.dir}" file="examples/runprofiler.xml"/>
+ <copy todir="${bin.main.dir}">
+ <fileset dir="examples"
+ includes="schema/**"
+ excludes="schema/createschemastex"/>
+ </copy>
+
+ <!-- compile test sources -->
+ <javac destdir="${bin.main.dir}"
+ debug="true"
+ classpath="jars/jdom.jar:jars/xercesImpl.jar">
+ <src path="test/src"/>
+ </javac>
+ <copy todir="${bin.main.dir}" file="test/runtests.xml"/>
+ <copy tofile="${bin.main.dir}/test.properties" file="test/test.properties">
+ <filterchain>
+ <replacetokens>
+ <token key="schema_path" value="${example.dir}/schema"/>
+ </replacetokens>
+ </filterchain>
+ <filterchain>
+ <tokenfilter>
+ <replaceregex pattern="(.)\\([^ ])"
+ replace="\1/\2"
+ flags="g"/>
+ </tokenfilter>
+ </filterchain>
+ </copy>
+
+ <antcall target="createjar"/>
+ <!-- <antcall target="javadoc"/> -->
+ </target>
+
+ <target name="config">
+ <echo message="Create new dol.properties file."/>
+ <delete file="${src.dir}/dol.properties" quiet="true"/>
+ <copy file="${src.dir}/dol_template.properties"
+ tofile="${src.dir}/dol.properties">
+ <filterchain>
+ <replacetokens>
+ <token key="dol_path" value="${dol.path}"/>
+ <token key="systemc_inc" value="${systemc.inc}"/>
+ <token key="systemc_lib" value="${systemc.lib}"/>
+ </replacetokens>
+ </filterchain>
+ </copy>
+ </target>
+
+ <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ <target name="test" depends="compile">
+ <javac destdir="${bin.main.dir}" debug="true" classpath="jars/jdom.jar:jar/xercesImpl.jar">
+ <src path="test/src"/>
+ </javac>
+ <copy todir="${bin.main.dir}" file="test/runtests.xml"/>
+ <copy todir="${bin.main.dir}" file="examples/runexample.xml"/>
+ <copy tofile="${bin.main.dir}/test.properties" file="test/test.properties">
+ <filterchain>
+ <replacetokens>
+ <token key="schema_path" value="${example.dir}/schema"/>
+ </replacetokens>
+ </filterchain>
+ <filterchain>
+ <tokenfilter>
+ <replaceregex pattern="(.)\\([^ ])"
+ replace="\1/\2"
+ flags="g"/>
+ </tokenfilter>
+ </filterchain>
+ </copy>
+ </target>
+ -->
+
+ <target name="javadoc">
+ <mkdir dir="${doc.build.dir}"/>
+ <javadoc packagenames="dol.*"
+ classpath="${jars}"
+ sourcepath="${src.dir}"
+ destdir="${doc.build.dir}"
+ access="public"
+ author="true"
+ version="true"
+ use="true"
+ windowtitle="${api.name}">
+ <doctitle><![CDATA[<h1>${api.name}</h1>]]></doctitle>
+ <bottom><![CDATA[<i>Copyright © 2005-2007 Computer Engineering and Networks Laboratory (TIK), ETH Zürich. All Rights Reserved.</i>]]></bottom>
+ </javadoc>
+ </target>
+
+ <target name="createjar">
+ <jar destfile="${bin-dist.name}" manifest="${src.dir}/MANIFEST.MF">
+ <fileset dir="${bin.main.dir}"
+ includes="dol/** dol.properties"/>
+ <fileset dir="examples"
+ includes="schema/**"
+ excludes="schema/createschemastex"/>
+ </jar>
+ <copy file="${bin-dist.name}" todir="${expo.dir}/jars"/>
+ </target>
+
+ <!-- clean up everything -->
+ <target name="clean">
+ <delete dir="${build.dir}"/>
+ <delete file="${bin-dist.name}"/>
+ </target>
+</project>