# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-CPTH = com/redhat/et/libguestfs
+# Old RHEL 5 autoconf doesn't have builddir.
+builddir ?= $(top_builddir)/java
-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)
+java_prefix = com/redhat/et/libguestfs
-CLEANFILES = *~ doc-stamp
+java_sources = \
+ $(java_prefix)/LibGuestFSException.java \
+ $(java_prefix)/IntBool.java \
+ $(java_prefix)/PV.java \
+ $(java_prefix)/VG.java \
+ $(java_prefix)/LV.java \
+ $(java_prefix)/Stat.java \
+ $(java_prefix)/StatVFS.java \
+ $(java_prefix)/Dirent.java \
+ $(java_prefix)/GuestFS.java
+
+java_tests = \
+ Bindtests.java \
+ t/GuestFS005Load.java \
+ t/GuestFS010Launch.java \
+ t/GuestFS050LVCreate.java
+
+EXTRA_DIST = \
+ $(java_sources) \
+ $(java_tests) \
+ run-bindtests \
+ run-java-tests
+
+CLEANFILES = doc-stamp
if HAVE_JAVA
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)
+ $(JAVAC) $(JAVAC_FLAGS) -d $(builddir) -classpath @srcdir@:$(builddir) -sourcepath @srcdir@:$(builddir) $<
libguestfs-${VERSION}.jar: $(libguestfs_jar_class_files)
$(JAR) cf $@ $^
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)
+libguestfs_jni_la_CFLAGS = -Wall -I$(top_srcdir)/src -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
+com_redhat_et_libguestfs_GuestFS.h: $(java_prefix)/GuestFS.class
+ $(JAVAH) -classpath @srcdir@:$(builddir) com.redhat.et.libguestfs.GuestFS
# Documentation.
com.redhat.et.libguestfs
touch $@
-endif
\ No newline at end of file
+install-data-hook:
+ mkdir -p $(DESTDIR)$(datadir)/javadoc/$(PACKAGE_NAME)-java-$(PACKAGE_VERSION)
+ cp -a api/* $(DESTDIR)$(datadir)/javadoc/$(PACKAGE_NAME)-java-$(PACKAGE_VERSION)
+
+# Tests (not comprehensive).
+
+TESTS = run-bindtests run-java-tests
+TESTS_ENVIRONMENT = \
+ JAVA=$(JAVA) \
+ CLASSPATH=.:t:libguestfs-$(VERSION).jar \
+ LIBGUESTFS_PATH=$(top_builddir)/appliance
+
+noinst_DATA = Bindtests.class $(java_tests:.java=.class)
+
+t/%.class: t/%.java
+ $(JAVAC) $(JAVAC_FLAGS) -classpath libguestfs-$(VERSION).jar $<
+
+Bindtests.class: Bindtests.java
+ $(JAVAC) $(JAVAC_FLAGS) -classpath libguestfs-$(VERSION).jar $<
+
+endif
+
+# Tell version 3.79 and up of GNU make to not build goals in this
+# directory in parallel.
+.NOTPARALLEL: