summaryrefslogtreecommitdiffstats
path: root/plugins/linux/build.xml
blob: 89c4eeb4ea2402a4b7e4fd75e67886938bf8d12b (plain)
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
<?xml version="1.0" encoding="UTF-8"?>
<project basedir="." default="all" name="Linux Plugin">

    <target name="init">
        <property name="hello" value="world"/>
        <mkdir dir="classes"/>
        <mkdir dir="bin"/>
    </target>

    <target depends="init" name="compile">
        <javac debug="true" deprecation="true" destdir="classes" source="1.4" srcdir="src/java">
            <classpath>
                <pathelement location="../../coreAPI/bin/jinput.jar"/>
                <pathelement location="../../coreAPI/lib/jutils.jar"/>
            </classpath>
        </javac>
    </target>

    <target depends="init,compile" name="jar">
        <jar jarfile="bin/linux.jar" compress="true" basedir="classes">
            <exclude name="**/*.java"/>
            <exclude name="linux.jar"/>
            <exclude name="apidoc"/>
        </jar> 
        <copy file="bin/linux.jar" todir="../../coreAPI/src/tests/controller" />
    </target>

    <target depends="compileNativeJinputLib,jar" description="Build everything." name="all">
        <echo message="Application built. Hello ${hello}!"/>
    </target>

    <target name="javadoc" depends="init" description="Javadoc for Linux plugin for JInput.">
        <mkdir dir="apidocs"/>
        <javadoc packagenames="net.java.games.input.*" 
                 destdir="apidocs"
                 additionalparam="-source 1.4"
                 link="../../../coreAPI/apidocs">
            <sourcepath>
                <pathelement location="src/java"/>
            </sourcepath>
             <classpath>
                <pathelement location="../../coreAPI/bin/jinput.jar"/>
                <pathelement location="../../coreAPI/lib/jutils.jar"/>
            </classpath>
        </javadoc>
    </target>

    <target description="Clean all build products." name="clean">
        <delete failonerror="no">
            <fileset dir="classes">
                <include name="**/*.class"/>
            </fileset>
        </delete>
        <delete file="bin/linux.jar" failonerror="no"/>
        <delete file="src/native/libjinput-linux.so" failonerror="no"/>
        <delete file="../../coreAPI/src/tests/controller/linux.jar" failonerror="no" />
        <delete file="../../coreAPI/src/tests/controller/libjinput-linux.so" failonerror="no"/>
        <delete file="apidoc" failonerror="no"/>
    </target>

    <target depends="init,compile" name="createJNIHeaders">
        <javah>
            <classpath>
                <pathelement path="src/java"/>
                <pathelement location="jinput.jar"/>
            </classpath>
            <class name="net.java.games.input.LinuxDevice"/>
            <class name="net.java.games.input.LinuxEnvironmentPlugin"/>
            <class name="net.java.games.input.LinuxKeyboard"/>
        </javah>
    </target>
    
    <target depends="init" name="createNativeDefinitions.java">
        <exec dir="." executable="./getDefinitions" os="linux" output="src/java/net/java/games/input/NativeDefinitions.java">
            <arg line="/usr/include/linux/input.h"/>
        </exec>
    </target>
    
    <target depends="init" name="compileNativeJinputLib">
        <ant dir="src/native" target="compileNativeJinputLib"/>
        <copy file="src/native/libjinput-linux.so" todir="../../coreAPI/src/tests/controller" />
    </target>
</project>