Files
FocusDrive3/build/build.xml
2019-01-14 17:09:52 -05:00

82 lines
3.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project name="Focus3Driver" default="all" basedir="..">
<property name="builddir" value="${basedir}/build" />
<property file="${builddir}/Focus3driver.properties"/>
<property file="${builddir}/Focus3driver-default.properties"/>
<property name="projdir" value="${basedir}" />
<property name="acJarVersion" value="1.3.5.13-ac" />
<property name="acJarPath" value="${builddir}/lib/AppleCommander" />
<property name="acJar" value="AppleCommander-${acJarVersion}.jar" />
<property name="sysUtilDiskImage" value="Focus3SystemUtilities.dsk" />
<property name="basicDiskImage" value="Focus3BusinessBASIC.dsk" />
<property name="baseImagePath" value="${projdir}/build/dsk" />
<taskdef name="appleCommander" classname="com.webcodepro.applecommander.ui.AntTask" classpath="${acJarPath}/${acJar}"/>
<target name="all" description="Bulid everything." depends="wipe, prep, assemble, link, builddsk, clean">
</target>
<target name="wipe">
<!--
Clean up everything
-->
<delete dir="${projdir}/out" />
</target>
<target name="prep">
<echo message="Copying base images..."/>
<copy file="${baseImagePath}/${sysUtilDiskImage}" tofile="${projdir}/out/${sysUtilDiskImage}" />
<copy file="${baseImagePath}/${basicDiskImage}" tofile="${projdir}/out/${basicDiskImage}" />
</target>
<target name="assemble" description="Assemble driver source.">
<!--
Assemble the driver source
-->
<echo message="Assembling driver..."/>
<mkdir dir="${projdir}/out"/>
<exec dir="${projdir}/out" executable="${assemblerPath}/ca65" failonerror="true">
<arg line=" -l ${projdir}/out/focus3.lst ${projdir}/src/focus3.s -o ${projdir}/out/focus3.o" />
</exec>
</target>
<target name="link" description="Link object code to relocatable version.">
<!--
Link the driver object code
-->
<echo message="Linking driver..."/>
<exec dir="${projdir}/out" executable="${assemblerPath}/ld65" failonerror="true">
<arg line=" ${projdir}/out/focus3.o -o focus3.o65 -C ${builddir}/Apple3_o65.cfg" />
</exec>
</target>
<target name="builddsk">
<!--
Manipulate disk images
-->
<echo message="Extracting SOS.DRIVER..."/>
<appleCommander command="g" imagename="${projdir}/out/${sysUtilDiskImage}" filename="SOS.DRIVER" output="${projdir}/out/SOS.DRIVER#0c0000" />
<echo message="Deleting CFFA driver from SOS.DRIVER..."/>
<exec executable="${python27Path}python">
<arg value="${builddir}/lib/A3Driverutil/A3Driverutil.py"/>
<arg value="delete"/>
<arg value=".CFFA3000D1"/>
<arg value="${projdir}/out/SOS.DRIVER#0c0000"/>
</exec>
<echo message="Adding built driver to SOS.DRIVER..."/>
<exec executable="${python27Path}python">
<arg value="${builddir}/lib/A3Driverutil/A3Driverutil.py"/>
<arg value="add"/>
<arg value="${projdir}/out/focus3.o65"/>
<arg value="${projdir}/out/SOS.DRIVER#0c0000"/>
</exec>
<echo message="Deleting SOS.DRIVER from disk images..."/>
<appleCommander command="d" imagename="${projdir}/out/${sysUtilDiskImage}" filename="SOS.DRIVER" failonerror="false"/>
<appleCommander command="d" imagename="${projdir}/out/${basicDiskImage}" filename="SOS.DRIVER" failonerror="false"/>
<echo message="Putting updated SOS.DRIVER back on disk images..."/>
<appleCommander command="p" input="${projdir}/out/SOS.DRIVER#0c0000" imagename="${projdir}/out/${sysUtilDiskImage}" filename="SOS.DRIVER" type="SOS" />
<appleCommander command="p" input="${projdir}/out/SOS.DRIVER#0c0000" imagename="${projdir}/out/${basicDiskImage}" filename="SOS.DRIVER" type="SOS" />
</target>
<target name="clean">
<!--
Clean up everything
<delete file="${projdir}/out/SOS.DRIVER#0c0000" />
<delete file="${projdir}/out/focus3.o" />
-->
</target>
</project>