X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=java%2FMakefile.am;h=abd11ee09c40c1c95051cf3bb8cba828ac7d8121;hp=7e8786d86305e83b35683ad0adf8cf552f836aa1;hb=ed74706d80394fef709ec0258fc5cf7d974ff8b1;hpb=b9014d6a0da8b2b3a76c4ab51fab2773fe7480b2 diff --git a/java/Makefile.am b/java/Makefile.am index 7e8786d..abd11ee 100644 --- a/java/Makefile.am +++ b/java/Makefile.am @@ -15,11 +15,106 @@ # along with this program; if not, write to the Free Software # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -EXTRA_DIST = +include $(top_srcdir)/subdir-rules.mk -CLEANFILES = *~ +# Old RHEL 5 autoconf doesn't have builddir. +builddir ?= $(top_builddir)/java + +# XXX: Need to fix generator.ml dependencies +# +# Files generated by generator.ml: +# Makefile.inc +# All files listed in Makefile.inc +# com_redhat_et_libguestfs_GuestFS.c +# Bindtests.java + +java_prefix = com/redhat/et/libguestfs + +# Pull in automatically generated built sources +include $(srcdir)/Makefile.inc + +java_sources = \ + $(java_built_sources) \ + com/redhat/et/libguestfs/LibGuestFSException.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 \ + Makefile.inc + +CLEANFILES = doc-stamp $(builddir)/com/redhat/et/libguestfs/*.class com_redhat_et_libguestfs_GuestFS.h *.class *.jar api/com/redhat/et/libguestfs/*.html api/* 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) -d $(builddir) -classpath @srcdir@:$(builddir) -sourcepath @srcdir@:$(builddir) $< + +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_srcdir)/src -I$(top_builddir)/src $(JNI_CFLAGS) + +BUILT_SOURCES = com_redhat_et_libguestfs_GuestFS.h + +com_redhat_et_libguestfs_GuestFS.h: $(java_prefix)/GuestFS.class + $(JAVAH) -classpath @srcdir@:$(builddir) 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: