summaryrefslogtreecommitdiffstats
path: root/java/Makefile.am
blob: 46e8bd7a3ec82494efcf36bf5b4743b4b4de6774 (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
88
89
90
91
92
93
94
95
96
97

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/
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
libjlasso_la_CFLAGS=	$(JDK_INCLUDES) \
			$(LASSO_CFLAGS) \
			$(NULL)
libjlasso_la_LIBADD=	$(top_srcdir)/lasso/liblasso.la \
                   	$(LASSO_LIBS) \
                   	$(NULL)
libjlasso_la_LDFLAGS=	-no-undefined \
			-version-info @LASSO_VERSION_INFO@ \
			-avoid-version -module \
                     	$(NULL)

# 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

# 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_MODULE).java.in: $(srcdir)/../swig/Lasso.i
	here=`pwd`; \
	mkdir -p $(JAVA_PATH) \
	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).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
	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

all-local: $(JAVA_JAR)

$(JAVA_PATH)$(JAVA_MODULE).class: $(JAVA_PATH)$(JAVA_MODULE).java
	$(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