# 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/GuestFS010Launch.java \
- t/GuestFS050LVCreate.java
+ t/GuestFS010Basic.java \
+ t/GuestFS080OptArgs.java
EXTRA_DIST = \
$(java_sources) \
$(java_tests) \
- run-java-test
+ 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
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 = \
+ $(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.
# Tests (not comprehensive).
-TESTS = $(java_tests:.java=.class)
+TESTS = run-bindtests run-java-tests
TESTS_ENVIRONMENT = \
JAVA=$(JAVA) \
- CLASSPATH=t:libguestfs-$(VERSION).jar \
- LIBGUESTFS_PATH=$(abs_top_builddir) \
- ./run-java-test
+ CLASSPATH=.:t:libguestfs-$(VERSION).jar \
+ LIBGUESTFS_PATH=$(top_builddir)/appliance \
+ TMPDIR=$(top_builddir)
+
+noinst_DATA = Bindtests.class $(java_tests:.java=.class)
t/%.class: t/%.java
$(JAVAC) $(JAVAC_FLAGS) -classpath libguestfs-$(VERSION).jar $<
-endif
\ No newline at end of file
+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: