<?xml version="1.0"?>

<project name="JInput wintab port, Native code" basedir="." default="compile">
	<property environment="env"/>
	<property name="wintabhome" location="${env.WINTAB_DIR}"/>
	<property name="sdkhome" location="c:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2"/>

	<target name="compile_dir">
		<echo message="${compiledir}"/>
		<echo message="wintab: ${wintabhome}"/>
		<apply dir="${compiledir}" failonerror="true" executable="cl" dest="${compiledir}" skipemptyfilesets="true">
			<arg line="/Ox /Wp64 /W2 /nologo /c"/>
			<arg value="/I${sdkhome}\include"/>
			<arg value="/I${wintabhome}\include"/>
			<arg value="/I${java.home}\..\include"/>
			<arg value="/I${java.home}\..\include\win32"/>
			<arg value="/I${commonhome}/src/native"/>
			<arg value="/I.."/>
			<srcfile/>
			<fileset dir="${compiledir}" includes="*.c"/>
			<mapper type="glob" from="*.c" to="*.obj"/>
		</apply>
	</target>

	<!--	<target name="link" unless="nolink">-->
	<target name="link">
		<apply dir="." parallel="true" executable="cl" failonerror="true">
			<arg line="/LD /nologo"/>
			<srcfile/>
			<arg line="/Fe${dllname} /link"/>
			<arg value="/LIBPATH:${java.home}\lib"/>
			<arg value="/LIBPATH:${wintabhome}\lib\I386"/>
			<arg value="/LIBPATH:${sdkhome}\lib"/>
			<arg line="/DLL ${libs}"/>
			<fileset dir="${commonhome}/src/native" includes="*.obj"/>
			<fileset dir="." includes="*.obj"/>
			<fileset dir="../../../windows/src/native" includes="*.obj"/>
		</apply>
	</target>

	<target name="clean">
		<delete>
			<fileset dir="." includes="*.obj"/>
			<fileset dir="." includes="*.dll"/>
			<fileset dir="." includes="*.h"/>
			<fileset dir="." includes="*.exp"/>
			<fileset dir="." includes="*.lib"/>
		</delete>
	</target>

	<target name="compile" if="wintabhome">
		<property name="wintablibs" value="Kernel32.lib WINTAB32.LIB User32.lib"/>
		<property name="commonhome" location="../../../common"/>
		<property name="dllname" value="jinput-wintab.dll"/>
		<antcall target="compile_dir">
			<param name="compiledir" location="${commonhome}/src/native"/>
		</antcall>
		<antcall target="compile_dir">
			<param name="compiledir" location="."/>
		</antcall>
		<antcall target="compile_dir">
			<param name="compiledir" location="../../../windows/src/native"/>
		</antcall>
		<!--		<uptodate property="nolink" targetfile="${dllname}">
			<srcfiles dir="." includes="*.obj"/>
		</uptodate>-->
		<antcall target="link">
			<param name="dllname" value="${dllname}"/>
			<param name="libs" value="${wintablibs}"/>
		</antcall>
    </target>
</project>

