forked from Sable/jasmin
-
Notifications
You must be signed in to change notification settings - Fork 0
/
build.xml
124 lines (110 loc) · 3.49 KB
/
build.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?xml version="1.0"?>
<project default="compile">
<property file="ant.settings"/>
<target name="settings">
<fail
message="Please copy ant.settings.template to ant.settings, and set the variables in it."
unless="java_cup.jar"
/>
</target>
<target name="compile" depends="settings,scm">
<javac
destdir="classes"
classpath="classes:${java_cup.jar}"
source="1.5"
target="1.5"
debug="true"
>
<src path="src"/>
<src path="generated/"/>
</javac>
</target>
<target name="build_parser">
<java
classname="java_cup.Main"
dir="src/jasmin"
classpath="${java_cup.jar}"
>
<arg line="src/jasmin/parser.cup"/>
</java>
<move file="parser.java" tofile="src/jasmin/parser.java"/>
<move file="sym.java" tofile="src/jasmin/sym.java"/>
</target>
<target name="scm" depends="autogen_run">
<javac
destdir="classes"
classpath="classes"
debug="true"
deprecation="true"
source="1.5"
target="1.5"
>
<src path="lib/jas/src/scm"/>
<src path="generated/scm"/>
</javac>
</target>
<target name="autogen_compile" depends="jas">
<javac
destdir="classes"
classpath="classes"
debug="true"
source="1.5"
target="1.5"
>
<src path="lib/jas/src/scm/autogen/"/>
</javac>
</target>
<target name="autogen_run" depends="autogen_compile, determine-autogen-uptodate" unless="autogen-uptodate">
<java
classname="autogen"
dir="generated/scm"
classpath="classes"
fork="true"
>
</java>
</target>
<target name="determine-autogen-uptodate">
<uptodate property="autogen-uptodate" srcfile="lib/jas/src/scm/autogen/autogen.java" targetfile="generated/scm/AutoInit.java"/>
</target>
<target name="jas">
<mkdir dir="classes"/>
<javac
destdir="classes"
optimize="true"
debug="true"
source="1.5"
target="1.5"
>
<src path="lib/jas/src/jas"/>
</javac>
</target>
<target name="clean">
<delete quiet="true">
<fileset dir="classes" includes="**/*.class"/>
</delete>
</target>
<target name="veryclean" depends="clean">
<delete quiet="true">
<fileset dir="generated/scm" includes="**/*"/>
</delete>
</target>
<target name="jasmin-jar" depends="compile">
<mkdir dir="META-INF"/>
<manifest file="META-INF/MANIFEST.MF">
<attribute name="Main-Class" value="jasmin.Main"/>
<attribute name="Implementation-Version" value="${jasmin.version}"/>
</manifest>
<jar destfile="${release.loc}/jasminclasses-${jasmin.version}.jar" manifest="META-INF/MANIFEST.MF">
<fileset dir="classes"/>
</jar>
<delete dir="META-INF"/>
</target>
<target name="barebones" depends="clean,settings">
<jar destfile="${release.loc}/jasminsrc-${jasmin.version}.jar">
<fileset dir="."/>
</jar>
<tar destfile="${release.loc}/jasminsrc-${jasmin.version}.tar.gz" compression="gzip" longfile="gnu">
<tarfileset dir="."/>
</tar>
</target>
</project>