summaryrefslogtreecommitdiffstats
path: root/bindings/java/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'bindings/java/Makefile.am')
-rw-r--r--bindings/java/Makefile.am48
1 files changed, 29 insertions, 19 deletions
diff --git a/bindings/java/Makefile.am b/bindings/java/Makefile.am
index d3a91e38..ce3b0aa1 100644
--- a/bindings/java/Makefile.am
+++ b/bindings/java/Makefile.am
@@ -3,7 +3,7 @@ INCLUDES = -I$(top_srcdir) \
-I$(top_builddir) \
$(SASL_CFLAGS)
-# CLASSPATH_ENV= CLASSPATH=.:lasso.jar:/usr/share/java/junit.jar
+CLASSPATH_ENV= CLASSPATH=.:$(CLASSPATH_JUNIT)
CLASSPATH=.:tests
java_extension_LTLIBRARIES = libjnilasso.la
@@ -16,11 +16,11 @@ lasso_jar_DATA=lasso.jar
lasso_jar_class_files = $(java_lasso_source_files:.java=.class)
%.class: %.java
- $(JAVAC) $(CLASSPATH_OPT) $(CLASSPATH) $(JAVAC_FLAGS) $<
+ $(JAVAC) $(CLASSPATH_OPT) $(CLASSPATH) $(JAVAC_FLAGS) -d . $<
all_jar_class_files = $(shell find com/entrouvert/lasso -name '*.class' | sed 's%\$$%\\$$%g')
-lasso.jar: $(all_jar_class_files)
+lasso.jar: $(java_lasso_source_files:.java=.class)
$(JAR) -cf $@ $(all_jar_class_files)
# Doc
@@ -32,7 +32,7 @@ doc:
mv .doc doc
-com_entrouvert_lasso_LassoJNI.h: com/entrouvert/lasso/LassoJNI.class
+com_entrouvert_lasso_LassoJNI.h: com/entrouvert/lasso/LassoJNI.class $(java_lasso_source_files:.java=.class)
$(JAVAH) $(JAVAH_FLAGS) -classpath . `echo $< | sed 'su/u.ug;su.classuu'`
libjnilasso_la_CFLAGS = -fno-strict-aliasing $(LASSO_CORE_CFLAGS) -I$(top_srcdir) -I$(top_builddir)
@@ -42,8 +42,10 @@ nodist_libjnilasso_la_SOURCES = com_entrouvert_lasso_LassoJNI.c
BUILT_SOURCES = com_entrouvert_lasso_LassoJNI.c com_entrouvert_lasso_LassoJNI.h
+BINDING_OPTION=#--enable-exception-docs
+
$(java_lasso_source_files) com_entrouvert_lasso_LassoJNI.c: ../lang_java_wrapper_top.c ../lang_java.py
- $(PYTHON) $(top_srcdir)/bindings/bindings.py --enable-exception-docs -l java --src-dir=$(top_srcdir)/lasso/
+ $(PYTHON) $(top_srcdir)/bindings/bindings.py $(BINDING_OPTION) -l java --src-dir=$(top_srcdir)/lasso/
cp $(srcdir)/GObject.java com/entrouvert/lasso
@@ -53,24 +55,32 @@ doc-publish: doc
ssh bdauvergne@perso.entrouvert.org tar czf -C public_html/java-binding-doc doc.tgz
rm doc.tgz
-clean-local:
- -rm -f com_entrouvert_lasso_LassoJNI.c com/entrouvert/lasso/*.java com/entrouvert/lasso/*.class com_entrouvert_lasso_LassoJNI.h lasso.jar
- -rm -rf doc
- -rm tests/*.class
+MOSTLYCLEANFILES = com_entrouvert_lasso_LassoJNI.c com_entrouvert_lasso_LassoJNI.h com/entrouvert/lasso/* lasso.jar *.class $(TESTS)
+
+EXTRA_DIST = \
+ GObject.java \
+ LassoException_top.java \
+ tests/BindingTests.java \
+ tests/LoginTest.java
+
-check tests/BindingTests.class tests/LoginTest.class : CLASSPATH :=$(CLASSPATH):/usr/share/java/junit.jar
+# Some of the following classes are built only if junit is available
+if JUNIT_ENABLED
+test_source_files= tests/BindingTests.java tests/LoginTest.java
-check: tests/BindingTests.class tests/LoginTest.class
- LD_LIBRARY_PATH=.libs $(JAVA) -cp $(CLASSPATH):/usr/share/java/junit.jar BindingTests
- LD_LIBRARY_PATH=.libs $(JAVA) -cp $(CLASSPATH):/usr/share/java/junit.jar LoginTest
+$(test_source_files:.java=.class): CLASSPATH=.:$(CLASSPATH_JUNIT)
+TESTS = AllJunitTests
+AllJunitTests: JAVAFLAGS +="-Dsrcdir=$(srcdir)"
+
+AllJunitTests: $(test_source_files:.java=.class)
+ echo "#! /bin/sh" > $@
+ echo "OBJDIR=`libtool --config | grep ^objdir | sed s/.*=//`" >> $@
+ echo 'LD_LIBRARY_PATH=$$OBJDIR @JUNIT@ BindingTests' >> $@
+ echo 'LD_LIBRARY_PATH=$$OBJDIR @JUNIT@ LoginTest' >> $@
+ chmod +x $@
endif
-EXTRA_DIST = \
- GObject.java \
- LassoException_top.java \
- tests/BindingTests.java \
- tests/LoginTest.java \
- tests/Test.java
+endif