/osx/javawfm/build.xml

https://code.google.com/p/javawfm/ · XML · 89 lines · 61 code · 13 blank · 15 comment · 0 complexity · 31f54384e1983bafade2eb810d21f93b MD5 · raw file

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project name="javawfm" default="install" basedir=".">
  3. <property name="src" location="../../farmR/src/java/src/"/> <!-- java source folder -->
  4. <property name="bin" location="bin"/> <!-- intermediate build products -->
  5. <property name="jars" location="jars"/> <!-- jar files -->
  6. <property name="lib" location="../../farmR/src/depends/libs"/> <!-- local libraries linked against -->
  7. <property name="dist" location="dist"/> <!-- build product location -->
  8. <property name="resources" location="resources"/> <!-- location of general java resources -->
  9. <property name="compile.debug" value="true"/>
  10. <property name="native.target" value="JNILib"/>
  11. <property name="native.project" value="javawfm.xcodeproj"/>
  12. <property name="native.library" value="libjavawfm.jnilib"/>
  13. <property name="env.CONFIGURATION" value="Release"/>
  14. <fileset id="lib.jars" dir="${lib}">
  15. <include name="**/*.jar"/>
  16. </fileset>
  17. <path id="lib.path">
  18. <fileset refid="lib.jars"/>
  19. </path>
  20. <target name="init" description="Initialize environment">
  21. <!-- Get properties from environment -->
  22. <property environment="env"/>
  23. <property name="curr_build_dir" location="build/${env.CONFIGURATION}"/>
  24. <property name="curr_header_dir" location="build/${env.CONFIGURATION}/Headers"/>
  25. <!-- if you tweak these names, you'll have to change the JNILib target and the Xcode launcher arguments -->
  26. <property name="jarfilename" value="javawfm"/>
  27. <property name="jarfile" location="${jars}/${jarfilename}.jar"/>
  28. <mkdir dir="${curr_build_dir}"/>
  29. <mkdir dir="${curr_header_dir}"/>
  30. <mkdir dir="${lib}"/>
  31. <mkdir dir="${bin}"/>
  32. <mkdir dir="${jars}"/>
  33. <mkdir dir="${dist}"/>
  34. </target>
  35. <target name="compile" depends="init" description="Compile JNI Wrapper code">
  36. <javac srcdir="${src}" destdir="${bin}"
  37. source="1.5" target="1.5"
  38. includeAntRuntime="no"
  39. classpathref="lib.path" debug="${compile.debug}">
  40. </javac>
  41. </target>
  42. <target name="jar" depends="compile" description="Build jar">
  43. <jar jarfile="${jarfile}" basedir="${bin}" manifest="${resources}/Manifest">
  44. <!-- Merge library jars into final jar file -->
  45. <zipgroupfileset refid="lib.jars"/>
  46. </jar>
  47. <!-- generate the header files -->
  48. <exec executable="/usr/bin/javah">
  49. <arg line="-classpath '${jarfile}' -force -d '${curr_header_dir}' jfm.lp.CBCPeer"/>
  50. </exec>
  51. <!-- <exec executable="/usr/bin/javah">
  52. <arg line="-classpath '${jarfile}' -force -d '${curr_header_dir}' jfm.lp.GLPKPeer"/>
  53. </exec>-->
  54. </target>
  55. <!-- Note: this target requires that Xcode Tools be installed -->
  56. <!-- install target. Copy the built objects to the 'dist' directory. -->
  57. <target name="install" description="Install jar" depends="jar">
  58. <!-- <copy file="${jarfile}" toDir="${dist}" failonerror="true" verbose="true"/>
  59. <copy toDir="${dist}" failonerror="true" verbose="true">
  60. <fileset dir="${bin}">
  61. <include name="**/*.jnilib"/>
  62. </fileset>
  63. </copy>-->
  64. </target>
  65. <target name="run" depends="install">
  66. <java classpath="${jarfile}" classname="${ant.project.name}" fork="true">
  67. <sysproperty key="java.library.path" value="${dist}"/>
  68. </java>
  69. </target>
  70. <target name="clean" depends="init" description="Remove build and dist directories">
  71. <delete dir="${bin}"/>
  72. <delete dir="${dist}"/>
  73. <delete dir="${jars}"/>
  74. <delete dir="${curr_build_dir}"/>
  75. </target>
  76. </project>