blob: d91df56fdfe6447a72945e528dd68fa3f205acf5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# 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/
JDK_INCLUDES = @JDK_INCLUDE@
CLASSPATH = .
javalibdir = $(prefix)/lib/java
javasharedir = $(prefix)/share/java
# Shared library.
javalib_LTLIBRARIES = libjlasso.la
libjlasso_la_SOURCES = $(JAVA_MODULE)_wrap.c \
$(top_srcdir)/swig/Lasso.c
libjlasso_la_CFLAGS = $(JDK_INCLUDES) \
$(LASSO_CFLAGS) \
-I$(top_srcdir)
libjlasso_la_LIBADD = $(top_builddir)/lasso/liblasso.la $(LASSO_LIBS)
libjlasso_la_LDFLAGS = -no-undefined -avoid-version -module
# Java package
javashare_DATA = lasso.jar
JAVA_JAR = lasso.jar
SWIG_OUTPUTS = $(JAVA_PATH)$(JAVA_MODULE).java $(JAVA_MODULE)_wrap.c $(JAVA_MODULE).java.in
JAVA_CRUFT = $(JAVA_PATH)$(JAVA_MODULE).class $(JAVA_MODULE)_wrap.o \
$(JAVA_JAR) \
$(JAVA_PATH)$(JAVA_MODULE)JNI.java
# 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_MODULE).java.in: $(top_srcdir)/swig/Lasso.i
here=`pwd`; \
$(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).java $(JAVA_MODULE).java.in
# FIXME There must be a better way to do this with SWIG
$(JAVA_PATH)$(JAVA_MODULE).java: $(JAVA_MODULE).java.in lasso-fragment.java
mkdir -p $(JAVA_PATH)
cd $(JAVA_PATH)
sed -e 's/^}//' $(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
rm -rf com
all-local: $(JAVA_JAR)
$(JAVA_PATH)$(JAVA_MODULE).class: $(JAVA_PATH)$(JAVA_MODULE).java
mkdir -p $(JAVA_PATH)
test -f $(JAVA_PATH)$(JAVA_MODULE).java || cp $(srcdir)/$(JAVA_PATH)$(JAVA_MODULE).java $(JAVA_PATH)
$(JAVAC) $(JAVAC_FLAGS) $(JAVA_PATH)$(JAVA_MODULE).java
$(JAVA_JAR): $(JAVA_PATH)$(JAVA_MODULE).class
rm -f $@
jar cf $@ $(JAVA_PATH)$(JAVA_MODULE).class
$(DEPDIR)/libjlasso_la-lasso_wrap.Plo:
mkdir -p $(DEPDIR)
echo "#dummy" > $(DEPDIR)/libjlasso_la-lasso_wrap.Plo
$(DEPDIR)/com/entrouvert/lasso/lasso.Po:
mkdir -p $(DEPDIR)/com/entrouvert/lasso
echo "#dummy" > $(DEPDIR)/com/entrouvert/lasso/lasso.Po
|