Files
jlibusb/LibusbJava/build.xml
2012-05-09 06:35:49 +00:00

189 lines
8.3 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<project name="LibusbJava" basedir=".">
<!-- ======================================================================
Build file for libusbJava Shared Library
REQUIREMENTS:
g++
http://libusbJava.sourceforge.net
====================================================================== -->
<description>
Build file for libusbJava Shared Library
</description>
<property file="version.properties" />
<property name="abi" value="0" />
<property name="version" value="${abi}.0.0" />
<property name="out_dir" value="${basedir}/out" />
<property name="ver_info" value="${out_dir}/LibusbJava.res" />
<patternset id="buildfiles">
<include name="**/*.o" />
<include name="**/*.dll" />
<include name="**/*.exe" />
<include name="**/*.res" />
<include name="**/*.rc" />
<include name="**/*.so.*" />
</patternset>
<target name="clean" description="--> Clean build files">
<delete>
<fileset dir=".">
<patternset refid="buildfiles" />
</fileset>
</delete>
</target>
<target name="linux" depends="clean, LibusbJava Test" description="--> Build libusbJava-1.0.so">
<echo level="info" message="Building Library" />
<exec dir="." executable="g++" failonerror="true">
<arg value="-Wno-write-strings" />
<arg value="-shared" />
<arg value="-fPIC" />
<arg value="-Wl,-soname,libusbJava-1.0.so" />
<arg value="-I/usr/lib" />
<arg value="-I/usr/lib/jvm/java-6-openjdk/include/" />
<arg value="${basedir}/LibusbJava.cpp" />
<arg value="-o${out_dir}/libusbJava-1.0.so.${version}" />
<arg value="/usr/lib/libusb-1.0.so" />
</exec>
</target>
<target name="Windows 32Bit" depends="clean, LibusbJava Test, Windows Resource" description="--> Build LibusbJava-1_0.dll">
<echo level="info" message="Building Library" />
<exec dir="." executable="g++" failonerror="true">
<arg value="-Wno-write-strings" />
<arg value="-D_JNI_IMPLEMENTATION_" />
<arg value="-Wl,--kill-at" />
<arg value="-mwindows" />
<arg value="-static" />
<arg value="-shared" />
<arg value="-IC:/Program Files/Java/jdk${java.version}/include" />
<arg value="-IC:/Program Files/Java/jdk${java.version}/include/win32" />
<arg value="-I${basedir}" />
<arg value="${basedir}/LibusbJava.cpp" />
<arg value="${ver_info}" />
<arg value="-o" />
<arg value="${out_dir}/x86/LibusbJava-1_0.dll" />
<arg value="-L${basedir}/MinGW32/static" />
<arg value="-lusb-1.0" />
</exec>
</target>
<target name="Windows 64Bit" depends="clean, LibusbJava Test, Windows Resource" description="--> Build LibusbJava-1_0.dll">
<echo level="info" message="Building Library" />
<exec dir="." executable="g++" failonerror="true">
<arg value="-Wno-write-strings" />
<arg value="-D_JNI_IMPLEMENTATION_" />
<arg value="-Wl,--kill-at" />
<arg value="-mwindows" />
<arg value="-static" />
<arg value="-shared" />
<arg value="-IC:/Program Files/Java/jdk${java.version}/include" />
<arg value="-IC:/Program Files/Java/jdk${java.version}/include/win32" />
<arg value="-I${basedir}" />
<arg value="${basedir}/LibusbJava.cpp" />
<arg value="${ver_info}" />
<arg value="-o" />
<arg value="${out_dir}/LibusbJava-1_0.dll" />
<arg value="-L${basedir}/MinGW64/static" />
<arg value="-lusb-1.0" />
</exec>
</target>
<target name="Windows 64Bit Debug" depends="clean, LibusbJava Test, Windows Resource" description="--> Build LibusbJava-1_0.dll">
<echo level="info" message="Building Library" />
<exec dir="." executable="g++" failonerror="true">
<arg value="-Wall" />
<arg value="-Wno-write-strings" />
<arg value="-D_JNI_IMPLEMENTATION_" />
<arg value="-Wl,--kill-at" />
<arg value="-O0" />
<arg value="-g" />
<arg value="-mwindows" />
<arg value="-static" />
<arg value="-shared" />
<arg value="-IC:/Program Files/Java/jdk${java.version}/include" />
<arg value="-IC:/Program Files/Java/jdk${java.version}/include/win32" />
<arg value="-I${basedir}" />
<arg value="${basedir}/LibusbJava.cpp" />
<arg value="${ver_info}" />
<arg value="-o" />
<arg value="${out_dir}/LibusbJava-1_0.dll" />
<arg value="-L${basedir}/MinGW64/static" />
<arg value="-lusb-1.0" />
</exec>
</target>
<property name="Unit-Test Executable" value="${out_dir}/LibusbJava-UnitTest.exe" />
<target name="LibusbJava Test" depends="Build LibusbJava Test" description="--> Execute Unit-Tests">
<echo level="info" message="Executing Unit-Tests" />
<exec dir="." executable="${Unit-Test Executable}" failonerror="true" />
</target>
<target name="Build LibusbJava Test" description="--> Build Unit-Tests">
<property name="Unit-Test Executable" value="${out_dir}/LibusbJava-UnitTest.exe" />
<echo level="info" message="Building Unit-Tests with JDK ${java.version}" />
<exec dir="." executable="g++" failonerror="true">
<arg value="-Wall" />
<arg value="-Wno-write-strings" />
<arg value="-D_JNI_IMPLEMENTATION_" />
<arg value="-DDO_UNIT_TEST=1" />
<arg value="-DTEST_USING_JVM=1" />
<arg value="-Wl,--kill-at" />
<arg value="-O0" />
<arg value="-g" />
<arg value="-mwindows" />
<arg value="-static" />
<arg value="-IC:/Program Files/Java/jdk${java.version}/include" />
<arg value="-IC:/Program Files/Java/jdk${java.version}/include/win32" />
<arg value="-I${basedir}" />
<arg value="${basedir}/LibusbJava.cpp" />
<arg value="${basedir}/test/CuTest.c" />
<arg value="${basedir}/test/LibusbJavaTest.cpp" />
<arg value="-o" />
<arg value="${Unit-Test Executable}" />
<arg value="-L${basedir}/MinGW64/static" />
<arg value="-LC:/Program Files/Java/jdk${java.version}/lib" />
<arg value="-lusb-1.0" />
</exec>
</target>
<target name="Windows Resource" description="--> Build Version resource">
<property name="rc_file" value="${out_dir}/LibusbJava.rc" />
<basename property="filename" file="${rc_file}"/>
<echo level="info" message="Generating rc-File: ${filename}" />
<exec dir="." executable="build_rc.cmd">
<arg value="${rc_file}" />
<arg value="${version.major}" />
<arg value="${version.minor}" />
<arg value="${version.micro}" />
<arg value="${version.nano}" />
</exec>
<basename property="target_file" file="${ver_info}"/>
<echo level="info" message="Compiling res-File: ${target_file}" />
<exec dir="." executable="windres">
<arg value="-Ocoff" />
<arg value="-o${ver_info}" />
<arg value="${rc_file}" />
</exec>
</target>
<target name="mac" depends="clean" description="--> Build LibusbJava-1.0.jnilib">
<exec dir="." executable="g++" failonerror="true">
<arg value="-v" />
<arg value="-dynamiclib" />
<arg line="-I /System/Library/Frameworks/JavaVM.framework/Headers/" />
<arg value="ch_ntb_inf_libusbJava_LibusbJava.cpp" />
<arg line="-o LibusbJava-1_0.jnilib" />
<arg line="-l stdc++" />
<arg value="/usr/local/lib/libusb.dylib" />
<arg value="/usr/local/lib/libusbpp.dylib" />
</exec>
</target>
</project>