gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
minor: ant build - removed the help task, added a project description
[mjc2wsl.git] / build.xml
1 <project name="mjc2wsl" default="all">
2 <property name="java.encoding" value="utf-8" />
3 <taskdef resource="net/sf/antcontrib/antlib.xml"/>
5 <property name="mjc2wsl.class.dir" value="bin" />
6 <property name="mjc2wsl.src.dir" value="src" />
7 <property name="mjc2wsl.options" value="" />
9 <property name="compiler.class.dir" value="compiler-bin" />
10 <property name="compiler.src.dir" value="compiler" />
12 <property name="samples.main.dir" value="samples" />
13 <property name="samples.temp.dir" value="samples-temp" />
15 <property name="fermat.dir" value="/home/donny/d/donny/fermat3" />
17 <description>
18 Builder script for mjc2wsl and related tools, runs test
19 on given samples.
20 </description>
22 <target name="init">
23 <mkdir dir="${mjc2wsl.class.dir}"/>
24 <mkdir dir="${compiler.class.dir}"/>
25 <mkdir dir="${samples.temp.dir}"/>
26 <copy todir="${samples.temp.dir}">
27 <fileset dir="${samples.main.dir}">
28 <include name="*.mj"/>
29 </fileset>
30 </copy>
31 </target>
33 <target name="build" depends="init" description="build the mjv2wsl tool">
34 <javac srcdir="${mjc2wsl.src.dir}" destdir="${mjc2wsl.class.dir}" includeAntRuntime='no' />
35 </target>
37 <target name="mj-build" depends="init" description="build the mj compiler">
38 <javac srcdir="${compiler.src.dir}" destdir="${compiler.class.dir}" includeAntRuntime='no' />
39 </target>
41 <target name="mj-compile">
42 <echo message="${filename}" />
43 <java classpath="${compiler.class.dir}" classname="Compiler">
44 <arg value="${filename}" />
45 </java>
46 </target>
48 <target name="mj-samples" depends="build" description="run the mj compiler on the samples">
49 <foreach param="filename" target="mj-compile">
50 <path>
51 <fileset dir='${samples.temp.dir}'>
52 <include name="*.mj"/>
53 </fileset>
54 </path>
55 </foreach>
56 </target>
58 <target name="mj-samples1" depends="mj-build">
59 <!-- simplistic version when antlib (foreach) is not available -->
60 <antcall target="mj-compile">
61 <param name="filename" value="samples-temp/sample.mj" />
62 </antcall>
63 <antcall target="mj-compile">
64 <param name="filename" value="samples-temp/sample1.mj" />
65 </antcall>
66 <antcall target="mj-compile">
67 <param name="filename" value="samples-temp/sample0.mj" />
68 </antcall>
69 </target>
71 <target name="mjc2wsl">
72 <echo message="${filename}" />
73 <java classpath="${mjc2wsl.class.dir}" classname="mjc2wsl">
74 <arg line="${mjc2wsl.options}" />
75 <arg value="${filename}" />
76 </java>
77 </target>
79 <target name="mjc2wsl-samples" depends="build">
80 <foreach param="filename" target="mjc2wsl">
81 <path>
82 <fileset dir='${samples.temp.dir}'>
83 <include name="*.obj"/>
84 </fileset>
85 </path>
86 </foreach>
87 </target>
89 <target name="mjc2wsl-samples1" depends="build">
90 <!-- simplistic version when antlib (foreach) is not available -->
91 <antcall target="mjc2wsl">
92 <param name="filename" value="samples-temp/sample0.obj" />
93 </antcall>
94 </target>
96 <target name="wsl-run" >
97 <exec executable="${fermat.dir}/bin/wsl" >
98 <env key="PATH" path="${env.PATH}:${fermat.dir}/bin"/>
99 <env key="FermaT" path="${fermat.dir}" />
100 <env key="SCHEME_LIBRARY_PATH" path="${fermat.dir}/slib/" />
101 <env key="SCM_INIT_PATH" path="${fermat.dir}/scm/Init5e5.scm" />
102 <arg value="${filename}"/>
103 </exec>
104 </target>
106 <target name="wsl-transf" depends="make-transf-ini"
107 description="transform (simplify) the wsl files generated by mjc2wsl">
108 <antcall target="wsl-run">
109 <param name="filename" value="src-wsl/transf-min.wsl" />
110 </antcall>
111 </target>
113 <target name="make-transf-ini">
114 <fileset dir="${samples.temp.dir}" casesensitive="no" id="generated-wsl-fileset">
115 <patternset id="non.test.sources">
116 <include name="**/*.wsl"/>
117 <exclude name="**/*_t.wsl"/>
118 </patternset>
119 </fileset>
120 <pathconvert pathsep="${line.separator}" property="generated-wsl-files" refid="generated-wsl-fileset">
122 </pathconvert>
124 <echo file="transf.ini">${generated-wsl-files}</echo>
125 </target>
127 <target name="all" depends='mj-samples,mjc2wsl-samples' description="build the tools, run them on the samples to check">
129 </target>
131 <target name="clean" description="clean up all the generated content">
132 <delete includeemptydirs="true">
133 <fileset dir=".">
134 <include name="${mjc2wsl.class.dir}/*.class"/>
135 <include name="${compiler.class.dir}/*.class"/>
136 <include name="${samples.temp.dir}/*"/>
137 </fileset>
138 <dirset dir=".">
139 <include name="${mjc2wsl.class.dir}"/>
140 <include name="${compiler.class.dir}"/>
141 <include name="${samples.temp.dir}"/>
142 </dirset>
143 </delete>
144 </target>
146 <!-- jedit specific flags; needs to be the first or the last 10 lines
147 :noTabs=true:
148 -->
149 </project>
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner