diff options
| author | Romain Chantereay <rchantereau@entrouvert.com> | 2004-08-10 11:18:17 +0000 |
|---|---|---|
| committer | Romain Chantereay <rchantereau@entrouvert.com> | 2004-08-10 11:18:17 +0000 |
| commit | 94033fe5d9fc9d63d08d2fa9d0b12867459caf95 (patch) | |
| tree | 8b8995e0d570f0b734d1118ec8b67484de24dcd0 /java/Makefile.am | |
| parent | c753e696c458cbb8e4e52d5413853fc0a72047c2 (diff) | |
| download | lasso-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.am | 152 |
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 |
