Move the appliance and build scripts into new appliance/ subdirectory.
[libguestfs.git] / java / Makefile.am
index 68f1d78..cc9891b 100644 (file)
 CPTH = com/redhat/et/libguestfs
 
 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
+       $(CPTH)/LibGuestFSException.java \
+       $(CPTH)/IntBool.java \
+       $(CPTH)/PV.java \
+       $(CPTH)/VG.java \
+       $(CPTH)/LV.java \
+       $(CPTH)/Stat.java \
+       $(CPTH)/StatVFS.java \
+       $(CPTH)/GuestFS.java
+
+java_tests = \
+       t/GuestFS005Load.java \
+       t/GuestFS010Launch.java \
+       t/GuestFS050LVCreate.java
+
+EXTRA_DIST = \
+       $(java_sources) \
+       $(java_tests) \
+       run-java-test
+
+CLEANFILES = doc-stamp
 
 if HAVE_JAVA
 
@@ -39,7 +47,7 @@ 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)
+       $(JAVAC) $(JAVAC_FLAGS) -classpath $(CPTH) $(java_sources)
 
 libguestfs-${VERSION}.jar: $(libguestfs_jar_class_files)
        $(JAR) cf $@ $^
@@ -58,7 +66,7 @@ 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
+       $(JAVAH) -classpath .:$(CPTH) com.redhat.et.libguestfs.GuestFS
 
 # Documentation.
 
@@ -72,4 +80,24 @@ doc-stamp: $(java_sources)
          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 = $(java_tests:.java=.class)
+TESTS_ENVIRONMENT = \
+       JAVA=$(JAVA) \
+       CLASSPATH=t:libguestfs-$(VERSION).jar \
+       LIBGUESTFS_PATH=$(top_builddir)/appliance \
+       ./run-java-test
+
+t/%.class: t/%.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: