X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=java%2FMakefile.am;h=ea90a4825e53ec0c95961837f1bbaf50fc150d34;hp=7e8786d86305e83b35683ad0adf8cf552f836aa1;hb=7e34d2cf59c2c8098683967c32782ffd8ca66aa7;hpb=b9014d6a0da8b2b3a76c4ab51fab2773fe7480b2 diff --git a/java/Makefile.am b/java/Makefile.am index 7e8786d..ea90a48 100644 --- a/java/Makefile.am +++ b/java/Makefile.am @@ -15,11 +15,96 @@ # 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)/Dirent.java \ + $(CPTH)/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 +# 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 $@ + +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 -endif \ No newline at end of file +# Tell version 3.79 and up of GNU make to not build goals in this +# directory in parallel. +.NOTPARALLEL: