X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=java%2FMakefile.am;h=fe55ec2577096db223787a4db4a30fd64adaa671;hp=68f1d78dddc8e7ac8f7b7ce0ff547a3a1d6ebe05;hb=d7da4807e83d4a960daca8f36bbc8a826063b135;hpb=7f818fa00c3d019146c7178f152408038d4a4d52 diff --git a/java/Makefile.am b/java/Makefile.am index 68f1d78..fe55ec2 100644 --- a/java/Makefile.am +++ b/java/Makefile.am @@ -15,21 +15,42 @@ # 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 +include $(top_srcdir)/subdir-rules.mk + +# 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 = \ - $(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_built_sources) \ + com/redhat/et/libguestfs/LibGuestFSException.java + +java_tests = \ + Bindtests.java \ + t/GuestFS005Load.java \ + t/GuestFS010Basic.java \ + t/GuestFS080OptArgs.java -EXTRA_DIST = $(java_sources) +EXTRA_DIST = \ + $(java_sources) \ + $(java_tests) \ + run-bindtests \ + run-java-tests \ + Makefile.inc -CLEANFILES = *~ doc-stamp +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 @@ -39,7 +60,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) -d $(builddir) -classpath @srcdir@:$(builddir) -sourcepath @srcdir@:$(builddir) $< libguestfs-${VERSION}.jar: $(libguestfs_jar_class_files) $(JAR) cf $@ $^ @@ -53,12 +74,15 @@ libguestfs_jni_la_SOURCES = \ 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 = \ + $(WARN_CFLAGS) $(WERROR_CFLAGS) \ + -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. @@ -72,4 +96,28 @@ 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 = 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: