1 <?xml version="1.0" encoding="UTF-8"?>
3 <project name="dol" default="compile" basedir=".">
6 Ant build file for DOL and its documentation.
9 <!-- ************************************************************** -->
11 <!-- ************************************************************** -->
12 <!-- source directories -->
13 <property name="dol.path" value="${basedir}"/>
14 <property name="systemc.inc" value="/home/shapes/base/resources/lib/systemC/include"/>
15 <property name="systemc.lib" value="/home/shapes/base/resources/lib/systemC/lib-linux/libsystemc.a"/>
17 <property name="src.dir" location="src"/>
18 <property name="doc.dir" location="docs"/>
19 <property name="jars.dir" location="jars"/>
20 <property name="example.dir" location="examples"/>
22 <!-- build directories -->
23 <property name="build.dir" location="build"/>
24 <property name="bin.dir" location="${build.dir}/bin"/>
25 <property name="bin.main.dir" location="${bin.dir}/main"/>
26 <property name="doc.api.dir" location="${doc.dir}/api"/>
27 <property name="doc.build.dir" location="${build.dir}/docs"/>
28 <property name="expo.dir" location="${basedir}"/>
30 <!-- distribution directories -->
31 <property name="bin-dist.name" value="dol.jar"/>
32 <property name="api.name" value="SHAPES Distributed Operation Layer (DOL)"/>
35 <property name="jars" value=".:${jars.dir}/jdom.jar:${jars.dir}/xercesImpl.jar"/>
38 <!-- *************************************************************** -->
40 <!-- *************************************************************** -->
42 <target name="all" depends="config, compile"/>
44 <!-- compile DOL java classes -->
45 <target name="compile">
46 <mkdir dir="${build.dir}"/>
47 <mkdir dir="${bin.dir}"/>
48 <mkdir dir="${bin.main.dir}"/>
50 <!-- compile dol sources -->
51 <javac destdir="${bin.main.dir}" debug="true" classpath="${jars}">
52 <src path="${src.dir}"/>
53 <compilerarg value="-Xlint:unchecked"/>
55 <javac destdir="${bin.main.dir}"
57 classpath="jars/jdom.jar:jars/xercesImpl.jar">
58 <src path="test/src"/>
60 <copy todir="${bin.main.dir}" file="${src.dir}/dol.properties"/>
61 <copy todir="${bin.main.dir}">
62 <fileset dir="${src.dir}"
63 includes="dol/visitor/systemC/lib/**
64 dol/visitor/hds/lib/**
65 dol/visitor/epiphany/lib/**
66 dol/visitor/epiphany/template/**
67 dol/visitor/PipeAndFilter/lib/**
68 dol/visitor/hdsd/lib/**
69 dol/visitor/hdsd/scd/**
70 dol/visitor/hdsd/scd/fsm/**
71 dol/visitor/rtems/lib/**
72 dol/visitor/protothread/lib/**
73 dol/visitor/cbe/lib/**
74 dol/visitor/cbe/template/**
75 dol/visitor/cell/lib/**
76 dol/visitor/cell/template/**"/>
79 <!-- copy example run scripts -->
80 <copy todir="${bin.main.dir}" file="examples/runexample.xml"/>
81 <copy todir="${bin.main.dir}" file="examples/runprofiler.xml"/>
82 <copy todir="${bin.main.dir}">
83 <fileset dir="examples"
85 excludes="schema/createschemastex"/>
88 <!-- compile test sources -->
89 <javac destdir="${bin.main.dir}"
91 classpath="jars/jdom.jar:jars/xercesImpl.jar">
92 <src path="test/src"/>
94 <copy todir="${bin.main.dir}" file="test/runtests.xml"/>
95 <copy tofile="${bin.main.dir}/test.properties" file="test/test.properties">
98 <token key="schema_path" value="${example.dir}/schema"/>
103 <replaceregex pattern="(.)\\([^ ])"
110 <antcall target="createjar"/>
111 <!-- <antcall target="javadoc"/> -->
114 <target name="config">
115 <echo message="Create new dol.properties file."/>
116 <delete file="${src.dir}/dol.properties" quiet="true"/>
117 <copy file="${src.dir}/dol_template.properties"
118 tofile="${src.dir}/dol.properties">
121 <token key="dol_path" value="${dol.path}"/>
122 <token key="systemc_inc" value="${systemc.inc}"/>
123 <token key="systemc_lib" value="${systemc.lib}"/>
129 <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
130 <target name="test" depends="compile">
131 <javac destdir="${bin.main.dir}" debug="true" classpath="jars/jdom.jar:jar/xercesImpl.jar">
132 <src path="test/src"/>
134 <copy todir="${bin.main.dir}" file="test/runtests.xml"/>
135 <copy todir="${bin.main.dir}" file="examples/runexample.xml"/>
136 <copy tofile="${bin.main.dir}/test.properties" file="test/test.properties">
139 <token key="schema_path" value="${example.dir}/schema"/>
144 <replaceregex pattern="(.)\\([^ ])"
153 <target name="javadoc">
154 <mkdir dir="${doc.build.dir}"/>
155 <javadoc packagenames="dol.*"
157 sourcepath="${src.dir}"
158 destdir="${doc.build.dir}"
163 windowtitle="${api.name}">
164 <doctitle><![CDATA[<h1>${api.name}</h1>]]></doctitle>
165 <bottom><![CDATA[<i>Copyright © 2005-2007 Computer Engineering and Networks Laboratory (TIK), ETH Zürich. All Rights Reserved.</i>]]></bottom>
169 <target name="createjar">
170 <jar destfile="${bin-dist.name}" manifest="${src.dir}/MANIFEST.MF">
171 <fileset dir="${bin.main.dir}"
172 includes="dol/** dol.properties"/>
173 <fileset dir="examples"
175 excludes="schema/createschemastex"/>
177 <copy file="${bin-dist.name}" todir="${expo.dir}/jars"/>
180 <!-- clean up everything -->
181 <target name="clean">
182 <delete dir="${build.dir}"/>
183 <delete file="${bin-dist.name}"/>