summaryrefslogtreecommitdiffstats
path: root/java/Makefile.am
diff options
context:
space:
mode:
authorRomain Chantereay <rchantereau@entrouvert.com>2004-08-10 11:18:17 +0000
committerRomain Chantereay <rchantereau@entrouvert.com>2004-08-10 11:18:17 +0000
commit94033fe5d9fc9d63d08d2fa9d0b12867459caf95 (patch)
tree8b8995e0d570f0b734d1118ec8b67484de24dcd0 /java/Makefile.am
parentc753e696c458cbb8e4e52d5413853fc0a72047c2 (diff)
downloadlasso-94033fe5d9fc9d63d08d2fa9d0b12867459caf95.tar.gz
lasso-94033fe5d9fc9d63d08d2fa9d0b12867459caf95.tar.xz
lasso-94033fe5d9fc9d63d08d2fa9d0b12867459caf95.zip
- Added java binding swig generation.
- Added Swig Interface file. - Added readme for java build dependencies - Removed old java/src directory (still present on the CVS and this is important).
Diffstat (limited to 'java/Makefile.am')
-rw-r--r--java/Makefile.am152
1 files changed, 91 insertions, 61 deletions
diff --git a/java/Makefile.am b/java/Makefile.am
index f3740e31..adad418b 100644
--- a/java/Makefile.am
+++ b/java/Makefile.am
@@ -1,62 +1,92 @@
-NULL =
-TARGET=target
-#JAVAC=/usr/lib/kaffe/bin/javac
-#JAVAH=/usr/lib/kaffe/bin/javah
-#JAVAH_CLASSPATH_PREFIX=/usr/share/kaffe/Klasses.jar:
-#JAR=/usr/lib/kaffe/bin/jar
-
-
-C_SOURCE_DIR=../c
-C_SOURCE=${wildcard ${C_SOURCE_DIR}/*.c}
-C_BUILD_DIR=${C_SOURCE_DIR}
-C_OBJECT=${C_SOURCE:.c=.o}
-if MINGW
-# JAVA_LDFLAGS=-L/usr/local/lib -lgobject-2.0-0 -lglib-2.0-0 -llasso
- LASSO_DLL=${TARGET}/jlasso.dll
-else
-# JAVA_LDFLAGS=-lgobject-2.0 -lglib-2.0 -llasso
- LASSO_SO=${TARGET}/libjlasso.so
-endif
-
-
-if MINGW
-binary-c: ${LASSO_DLL}
-else
-binary-c: ${LASSO_SO}
-endif
-
-if MINGW
-mylibs = -L../win32/.libs -llasso -L/usr/local/lib
-${LASSO_DLL}:
- gcc -mno-cygwin -shared -o ${TARGET}/jlasso.dll \
- -Wl,--out-implib=${TARGET}/jlasso.a \
- -Wl,--add-stdcall-alias \
- -Wl,--export-all-symbols \
- -Wl,--enable-auto-import \
- -Wl,--whole-archive ${C_OBJECT} \
- -Wl,--no-whole-archive -lgobject-2.0-0 -lglib-2.0-0 ${mylibs}
-else
-mylibs = ../lasso/.libs/liblasso.so
-${LASSO_SO}:
- $(CC) -shared -lgobject-2.0 -lglib-2.0 $(mylibs) ${C_OBJECT} -o $@
-endif
-
-lib_LTLIBRARIES = \
- libjlasso.la \
- $(NULL)
-
-libjlasso_la_SOURCES = $(NULL)
-
-libjlasso_la_LIBADD = \
- binary-c \
- $(NULL)
-
-all-redirect: binary-c
-
-clean: clean-recursive
- rm -fr ${TARGET} *~ *.log
-
-
-EXTRA_DIST = $(NULL)
-SUBDIRS = src $(NULL)
+NULL=
+# Define the java module
+JAVA_MODULE=lasso
+# Define java package name
+JAVA_PACKAGE=com.entrouvert.lasso
+# Define java Package directory, the tailing '/' is mandatory.
+JAVA_PATH=com/entrouvert/lasso/
+CLASSPATH=.
+
+javalibdir=$(prefix)/lib/java
+javasharedir=$(prefix)/share/java
+
+# Shared library.
+javalib_LTLIBRARIES=libjlasso.la
+
+libjlasso_la_SOURCES=$(JAVA_MODULE)_wrap.c
+libjlasso_la_CFLAGS=$(JDK_INCLUDES) $(LASSO_CFLAGS)
+libjlasso_la_LIBADD=$(top_srcdir)/lasso/liblasso.la \
+ $(LASSO_LIBS) \
+ $(NULL)
+libjlasso_la_LDFLAGS=-no-undefined -version-info @LASSO_VERSION_INFO@ \
+ $(NULL)
+
+# Java package
+javashare_DATA=lasso.jar
+JAVA_JAR=lasso.jar
+
+SWIG_OUTPUTS=$(JAVA_PATH)$(JAVA_MODULE).java $(JAVA_MODULE)_wrap.c
+JAVA_CRUFT=$(JAVA_PATH)$(JAVA_MODULE).class $(JAVA_MODULE)_wrap.o \
+$(JAVA_JAR) \
+$(JAVA_PATH)$(JAVA_MODULE)JNI.java
+
+# Sources file in order to beautifully (and so humanly) wrap lasso.
+JAVA_SOURCE_FILES=$(NULL)
+
+# Bytecode version of the java source files.
+JAVA_CLASS_FILES=$(NULL)
+
+
+SUBDIRS=
+
+# The SWIG outputs are included in the distribution so SWIG is not
+# required to use the Java interface
+EXTRA_DIST= lasso-fragment.java \
+ $(SWIG_OUTPUTS)
+
+CLEANFILES=$(JAVA_CRUFT)
+MAINTAINERCLEANFILES=$(SWIG_OUTPUTS)
+
+
+$(JAVA_MODULE)_wrap.c $(JAVA_PATH)$(JAVA_MODULE).java.in: $(srcdir)/../swig/Lasso.i
+ here=`pwd`; \
+ cd $(JAVA_PATH); \
+ $(SWIG) -v -java -noproxy -module $(JAVA_MODULE) -package $(JAVA_PACKAGE) -o $(JAVA_MODULE)_wrap.c $$here/$<; \
+ if test -r $(JAVA_MODULE)JNI.java; then \
+ echo "Fixing SWIG 1.3.15+ broken Java API"; \
+ rm -f $(JAVA_MODULE).java SWIGTYPE_*; \
+ sed -e 's/class $(JAVA_MODULE)JNI/public class $(JAVA_MODULE)/' $(JAVA_MODULE)JNI.java > $(JAVA_MODULE).java; \
+ sed -e 's/$(JAVA_MODULE)JNI/$(JAVA_MODULE)/g' $(JAVA_MODULE)_wrap.c > $(JAVA_MODULE)_wrap.c.new; \
+ rm -f $(JAVA_MODULE)_wrap.c $(JAVA_MODULE)JNI.java; \
+ mv $(JAVA_MODULE)_wrap.c.new $(JAVA_MODULE)_wrap.c; \
+ fi; \
+ mv $(JAVA_MODULE)_wrap.c $$here; \
+ mv $(JAVA_MODULE).java $(JAVA_MODULE).java.in
+
+# FIXME There must be a better way to do this with SWIG
+$(JAVA_PATH)$(JAVA_MODULE).java: $(JAVA_PATH)$(JAVA_MODULE).java.in lasso-fragment.java
+ sed -e 's/^}//' $(JAVA_PATH)$(JAVA_MODULE).java.in > $(JAVA_PATH)$(JAVA_MODULE).java.tmp
+ cat $(JAVA_PATH)$(JAVA_MODULE).java.tmp lasso-fragment.java > $@
+ echo "}" >> $@
+ rm -f $(JAVA_PATH)$(JAVA_MODULE).java.tmp
+
+
+clean-local:
+ rm -f *.class
+
+all-local: $(JAVA_JAR)
+
+$(JAVA_PATH)$(JAVA_MODULE).class:
+ $(JAVAC) $(JAVAC_FLAGS) $(JAVA_PATH)$(JAVA_MODULE).java
+
+$(JAVA_JAR): $(JAVA_PATH)$(JAVA_MODULE).class
+ rm -f $@
+ jar cf $@ $(JAVA_PATH)$(JAVA_MODULE).class
+
+.deps/libjlasso_la-lasso_wrap.Plo:
+ echo "#dummy" > .deps/libjlasso_la-lasso_wrap.Plo
+
+.deps/com/entrouvert/lasso/lasso.Po:
+ mkdir -p .deps/com/entrouvert/lasso
+ echo "#dummy" > .deps/com/entrouvert/lasso/lasso.Po