gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
49af44949525112d4de7f13a54603518d712adce
[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 <target name="help">
16 <echo>Possible options:
17 all - build the tool and the compiler and test on the samples
18 build - build the mjc2wsl tool
19 mj-build - build the mj compiler
20 mj-samples - run the mj compiler on the samples (build if needed)
21 </echo>
22 </target>
24 <target name="init">
25 <mkdir dir="${mjc2wsl.class.dir}"/>
26 <mkdir dir="${compiler.class.dir}"/>
27 <mkdir dir="${samples.temp.dir}"/>
28 <copy todir="${samples.temp.dir}">
29 <fileset dir="${samples.main.dir}">
30 <include name="*.mj"/>
31 </fileset>
32 </copy>
33 </target>
35 <target name="build" depends="init" description="build the mjv2wsl tool">
36 <javac srcdir="${mjc2wsl.src.dir}" destdir="${mjc2wsl.class.dir}" includeAntRuntime='no' />
37 </target>
39 <target name="mj-build" depends="init" description="build the mj compiler">
40 <javac srcdir="${compiler.src.dir}" destdir="${compiler.class.dir}" includeAntRuntime='no' />
41 </target>
43 <target name="mj-compile">
44 <echo message="${filename}" />
45 <java classpath="${compiler.class.dir}" classname="Compiler">
46 <arg value="${filename}" />
47 </java>
48 </target>
50 <target name="mj-samples" depends="build" description="run the mj compiler on the samples">
51 <foreach param="filename" target="mj-compile">
52 <path>
53 <fileset dir='${samples.temp.dir}'>
54 <include name="*.mj"/>
55 </fileset>
56 </path>
57 </foreach>
58 </target>
60 <target name="mj-samples1" depends="mj-build">
61 <!-- simplistic version when antlib (foreach) is not available -->
62 <antcall target="mj-compile">
63 <param name="filename" value="samples-temp/sample.mj" />
64 </antcall>
65 <antcall target="mj-compile">
66 <param name="filename" value="samples-temp/sample1.mj" />
67 </antcall>
68 <antcall target="mj-compile">
69 <param name="filename" value="samples-temp/sample0.mj" />
70 </antcall>
71 </target>
73 <target name="mjc2wsl">
74 <echo message="${filename}" />
75 <java classpath="${mjc2wsl.class.dir}" classname="mjc2wsl">
76 <arg line="${mjc2wsl.options}" />
77 <arg value="${filename}" />
78 </java>
79 </target>
81 <target name="mjc2wsl-samples" depends="build">
82 <foreach param="filename" target="mjc2wsl">
83 <path>
84 <fileset dir='${samples.temp.dir}'>
85 <include name="*.obj"/>
86 </fileset>
87 </path>
88 </foreach>
89 </target>
91 <target name="mjc2wsl-samples1" depends="build">
92 <!-- simplistic version when antlib (foreach) is not available -->
93 <antcall target="mjc2wsl">
94 <param name="filename" value="samples-temp/sample0.obj" />
95 </antcall>
96 </target>
98 <target name="all" depends='mj-samples,mjc2wsl-samples' description="build the tools, run them on the samples to check">
100 </target>
102 <target name="clean" description="clean up all the generated content">
103 <delete includeemptydirs="true">
104 <fileset dir=".">
105 <include name="${mjc2wsl.class.dir}/*.class"/>
106 <include name="${compiler.class.dir}/*.class"/>
107 <include name="${samples.temp.dir}/*"/>
108 </fileset>
109 <dirset dir=".">
110 <include name="${mjc2wsl.class.dir}"/>
111 <include name="${compiler.class.dir}"/>
112 <include name="${samples.temp.dir}"/>
113 </dirset>
114 </delete>
115 </target>
117 <!-- jedit specific flags; needs to be the first or the last 10 lines
118 :noTabs=true:
119 -->
120 </project>
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner