lawless-legends/Platform/Apple/virtual/build.xml

84 lines
3.2 KiB
XML

<?xml version="1.0"?>
<project name="game" default="build">
<property name="projName" value="game"/> <!-- base part of output file name -->
<property name="src.dir" location="./src"/>
<property name="build.dir" value="./build"/>
<property name="a2copy.dir" value="../tools/A2Copy/dist"/>
<property name="pack.dir" value="../tools/PackPartitions/dist"/>
<property name="plasma.dir" location="../tools/PLASMA/src"/>
<property name="IMG_FILE" value="${build.dir}/${projName}.bin#${ORG_ADDR}"/>
<target name="all">
<antcall target="clean"/>
<antcall target="build"/>
</target>
<target name="clean">
<delete failonerror="false" dir="${build.dir}"/>
<ant dir="${src.dir}/core" target="clean" useNativeBasedir="true" inheritAll="false"/>
<ant dir="${src.dir}/plasma" target="clean" useNativeBasedir="true" inheritAll="false"/>
<ant dir="${src.dir}/raycast" target="clean" useNativeBasedir="true" inheritAll="false"/>
<ant dir="${src.dir}/font" target="clean" useNativeBasedir="true" inheritAll="false"/>
</target>
<target name="build">
<!-- Create build directory -->
<mkdir dir="${build.dir}"/>
<!-- Generate code from tables -->
<echo>Generating code from tables.</echo>
<java jar="${pack.dir}/PackPartitions.jar" fork="true" failonerror="true">
<arg value="data/world/world.xml"/>
<arg value="-dataGen"/>
</java>
<!-- Build sub-projects -->
<echo>Building core.</echo>
<ant dir="${src.dir}/core" target="build" useNativeBasedir="true" inheritAll="false"/>
<echo>Building game loop.</echo>
<ant dir="${src.dir}/plasma" target="build" useNativeBasedir="true" inheritAll="false"/>
<echo>Building raycast.</echo>
<ant dir="${src.dir}/raycast" target="build" useNativeBasedir="true" inheritAll="false"/>
<echo>Building font engine.</echo>
<ant dir="${src.dir}/font" target="build" useNativeBasedir="true" inheritAll="false"/>
<echo>Building tile engine.</echo>
<ant dir="${src.dir}/tile" target="build" useNativeBasedir="true" inheritAll="false"/>
<!-- Pack the game data -->
<echo>Packing game and code resources.</echo>
<java jar="${pack.dir}/PackPartitions.jar" fork="true" failonerror="true">
<arg value="data/world/world.xml"/>
<arg value="build/game.part.0.bin"/>
</java>
<!-- Construct a directory to put on the Apple -->
<delete failonerror="false" dir="${build.dir}/root"/>
<mkdir dir="${build.dir}/root"/>
<copy todir="${build.dir}/root">
<fileset dir="${plasma.dir}" includes="PLVM02.SYSTEM*"/>
<fileset dir="${src.dir}/core/build" includes="*.sys*"/>
<fileset dir="./build" includes="game.part*.bin"/>
</copy>
<mkdir dir="${build.dir}/root/"/>
<!-- Make a new base image file -->
<delete failonerror="false" file="${build.dir}/${projName}.2mg"/>
<bunzip2 src="./data/disks/base.2mg.bz2" dest="${build.dir}/${projName}.2mg"/>
<!-- And stuff the directory into it -->
<echo>Adding files to image.</echo>
<java jar="${a2copy.dir}/a2copy.jar" fork="true" failonerror="true">
<arg value="-put"/>
<arg value="${build.dir}/${projName}.2mg"/>
<arg value="/"/>
<arg value="${build.dir}/root"/>
</java>
</target>
</project>