Java bindings compile, not tested.
[libguestfs.git] / java / Makefile.am
index 7e8786d..68f1d78 100644 (file)
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-EXTRA_DIST =
+CPTH = com/redhat/et/libguestfs
 
-CLEANFILES = *~
+java_sources = \
+  $(CPTH)/LibGuestFSException.java \
+  $(CPTH)/IntBool.java \
+  $(CPTH)/PV.java \
+  $(CPTH)/VG.java \
+  $(CPTH)/LV.java \
+  $(CPTH)/Stat.java \
+  $(CPTH)/StatVFS.java \
+  $(CPTH)/GuestFS.java
+
+EXTRA_DIST = $(java_sources)
+
+CLEANFILES = *~ doc-stamp
 
 if HAVE_JAVA
 
+# Java source.
+
+libguestfs_jardir = $(JAR_INSTALL_DIR)
+libguestfs_jar_DATA = libguestfs-${VERSION}.jar
+libguestfs_jar_class_files = $(java_sources:.java=.class)
+$(libguestfs_jar_class_files): %.class: %.java
+       $(JAVAC) $(JAVAC_FLAGS) -classpath "$(CPTH)" $(java_sources)
+
+libguestfs-${VERSION}.jar: $(libguestfs_jar_class_files)
+       $(JAR) cf $@ $^
+
+# JNI source.
+
+lib_LTLIBRARIES = libguestfs_jni.la
+libguestfs_jni_la_SOURCES = \
+       com_redhat_et_libguestfs_GuestFS.h \
+       com_redhat_et_libguestfs_GuestFS.c
+
+libguestfs_jni_la_LIBADD = $(top_builddir)/src/libguestfs.la
+libguestfs_jni_la_LDFLAGS = -version-info $(JNI_VERSION_INFO)
+libguestfs_jni_la_CFLAGS = -Wall -I$(top_builddir)/src $(JNI_CFLAGS)
+
+BUILT_SOURCES = com_redhat_et_libguestfs_GuestFS.h
+
+com_redhat_et_libguestfs_GuestFS.h: $(CPTH)/GuestFS.class
+       $(JAVAH) -classpath ".:$(CPTH)" com.redhat.et.libguestfs.GuestFS
+
+# Documentation.
+
+noinst_SCRIPTS = doc-stamp
+
+doc-stamp: $(java_sources)
+       $(JAVADOC) $(JAVADOC_FLAGS) -d api \
+         -sourcepath $(srcdir) \
+         -windowtitle "libguestfs java $(VERSION) API reference" \
+         -doctitle "libguestfs java $(VERSION) API reference" \
+         com.redhat.et.libguestfs
+       touch $@
 
 endif
\ No newline at end of file