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/PipeAndFilter/lib/**
66 dol/visitor/hdsd/lib/**
67 dol/visitor/hdsd/scd/**
68 dol/visitor/hdsd/scd/fsm/**
69 dol/visitor/rtems/lib/**
70 dol/visitor/protothread/lib/**
71 dol/visitor/cbe/lib/**
72 dol/visitor/cbe/template/**
73 dol/visitor/cell/lib/**
74 dol/visitor/cell/template/**"/>
77 <!-- copy example run scripts -->
78 <copy todir="${bin.main.dir}" file="examples/runexample.xml"/>
79 <copy todir="${bin.main.dir}" file="examples/runprofiler.xml"/>
80 <copy todir="${bin.main.dir}">
81 <fileset dir="examples"
83 excludes="schema/createschemastex"/>
86 <!-- compile test sources -->
87 <javac destdir="${bin.main.dir}"
89 classpath="jars/jdom.jar:jars/xercesImpl.jar">
90 <src path="test/src"/>
92 <copy todir="${bin.main.dir}" file="test/runtests.xml"/>
93 <copy tofile="${bin.main.dir}/test.properties" file="test/test.properties">
96 <token key="schema_path" value="${example.dir}/schema"/>
101 <replaceregex pattern="(.)\\([^ ])"
108 <antcall target="createjar"/>
109 <!-- <antcall target="javadoc"/> -->
112 <target name="config">
113 <echo message="Create new dol.properties file."/>
114 <delete file="${src.dir}/dol.properties" quiet="true"/>
115 <copy file="${src.dir}/dol_template.properties"
116 tofile="${src.dir}/dol.properties">
119 <token key="dol_path" value="${dol.path}"/>
120 <token key="systemc_inc" value="${systemc.inc}"/>
121 <token key="systemc_lib" value="${systemc.lib}"/>
127 <!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
128 <target name="test" depends="compile">
129 <javac destdir="${bin.main.dir}" debug="true" classpath="jars/jdom.jar:jar/xercesImpl.jar">
130 <src path="test/src"/>
132 <copy todir="${bin.main.dir}" file="test/runtests.xml"/>
133 <copy todir="${bin.main.dir}" file="examples/runexample.xml"/>
134 <copy tofile="${bin.main.dir}/test.properties" file="test/test.properties">
137 <token key="schema_path" value="${example.dir}/schema"/>
142 <replaceregex pattern="(.)\\([^ ])"
151 <target name="javadoc">
152 <mkdir dir="${doc.build.dir}"/>
153 <javadoc packagenames="dol.*"
155 sourcepath="${src.dir}"
156 destdir="${doc.build.dir}"
161 windowtitle="${api.name}">
162 <doctitle><![CDATA[<h1>${api.name}</h1>]]></doctitle>
163 <bottom><![CDATA[<i>Copyright © 2005-2007 Computer Engineering and Networks Laboratory (TIK), ETH Zürich. All Rights Reserved.</i>]]></bottom>
167 <target name="createjar">
168 <jar destfile="${bin-dist.name}" manifest="${src.dir}/MANIFEST.MF">
169 <fileset dir="${bin.main.dir}"
170 includes="dol/** dol.properties"/>
171 <fileset dir="examples"
173 excludes="schema/createschemastex"/>
175 <copy file="${bin-dist.name}" todir="${expo.dir}/jars"/>
178 <!-- clean up everything -->
179 <target name="clean">
180 <delete dir="${build.dir}"/>
181 <delete file="${bin-dist.name}"/>