77 lines
2.3 KiB
XML
Executable File
77 lines
2.3 KiB
XML
Executable File
<project name="Gammon-Bernard Common Lisp" default="dist" basedir=".">
|
|
<property file="project.properties"/>
|
|
<import file="build-common-versioning.xml"/>
|
|
|
|
<!-- This path represents all compile-time dependancies -->
|
|
<path id="javac.path">
|
|
<fileset dir="${lib.dir}">
|
|
<include name="**/*.jar"/>
|
|
<exclude name="javacc"/>
|
|
</fileset>
|
|
</path>
|
|
|
|
<!-- This path represents all run-time dependancies -->
|
|
<path id="java.path">
|
|
<path refid="javac.path"/>
|
|
<pathelement path="${build.classes.dir}"/>
|
|
</path>
|
|
|
|
<target name="init">
|
|
<tstamp/>
|
|
</target>
|
|
|
|
<target name="clean" depends="init">
|
|
<delete dir="${build.dir}"/>
|
|
<delete dir="${grammar.output.dir}"/>
|
|
<delete dir="${dist.dir}"/>
|
|
</target>
|
|
|
|
<target name="compile-parser" depends="init">
|
|
<mkdir dir="${grammar.output.dir}"/>
|
|
<javacc
|
|
target="${grammar.file}"
|
|
javacchome="${javacc.home}"
|
|
outputdirectory="${grammar.output.dir}"/>
|
|
</target>
|
|
|
|
<target name="compile" depends="compile-parser">
|
|
<!-- Make build directory if it does not exist -->
|
|
<mkdir dir="${build.classes.dir}"/>
|
|
|
|
<!-- Compile all sources to build directory -->
|
|
<javac
|
|
srcdir="${src.dir}"
|
|
destdir="${build.classes.dir}"
|
|
classpathref="javac.path"
|
|
debug="on"
|
|
debuglevel="source,vars,lines"/>
|
|
|
|
</target>
|
|
|
|
<target name="build" depends="compile,increment-build-number">
|
|
<jar
|
|
basedir="${build.classes.dir}"
|
|
destfile="${build.jar}">
|
|
<manifest>
|
|
<attribute
|
|
name="Main-Class"
|
|
value="edu.utexas.cs345.jdblisp.LISPRuntime"/>
|
|
<attribute
|
|
name="Built-By"
|
|
value="Jonathan Bernard (jdbernard@gmail.com)"/>
|
|
</manifest>
|
|
</jar>
|
|
</target>
|
|
|
|
<target name="dist" depends="build">
|
|
<mkdir dir="${dist.dir}/lib"/>
|
|
<move file="${build.jar}" tofile="${dist.jar}" />
|
|
<copy todir="${dist.dir}/lib">
|
|
<fileset dir="${lib.dir}">
|
|
<include name="**/*"/>
|
|
<exclude name="javacc"/>
|
|
</fileset>
|
|
</copy>
|
|
</target>
|
|
</project>
|