summaryrefslogtreecommitdiffstats
path: root/bindings/java/Makefile.in
blob: 4aed9345b4a059c66397f01bae2031938e8862c1 (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
top_srcdir = @top_srcdir@
prefix = @prefix@

CFLAGS = $(subst -Werror,,@CFLAGS@) -I$(JAVA_HOME)/include/ -I$(JAVA_HOME)/include/linux/
CFLAGS += -fno-strict-aliasing # see the swig docs
ifeq ($(shell arch),x86_64)
CFLAGS += -fPIC
endif
LDFLAGS += -L$(top_srcdir)/lib/libalpm -lalpm

all: libalpm_java.so alpm.jar

libalpm_java.so: alpm_java_wrap.o
	$(CC) -shared $^ -o $@ $(LDFLAGS)

alpm_java_wrap.o: alpm_java_wrap.c
	$(CC) $(CFLAGS) -c -o $@ -include alpm.h $^

alpm_java_wrap.c:
	cp $(top_srcdir)/lib/libalpm/alpm.h ./
	cp $(top_srcdir)/bindings/alpm.i alpm_java.i
	swig -java alpm_java.i

alpm.class: alpm.java
	javac *.java

alpm.jar: alpm.class
	jar -cf alpm.jar *.class

alpm.java: alpm_java_wrap.c

install: install-so install-jar

install-so: libalpm_java.so
	mkdir -p $(DESTDIR)$(prefix)/lib
	install $^ $(DESTDIR)$(prefix)/lib

install-jar: alpm.jar
	mkdir -p $(DESTDIR)$(prefix)/share/java
	install -m644 $^ $(DESTDIR)$(prefix)/share/java

clean:
	rm -f *alpm* *.java *.class

distclean: clean
	rm -f Makefile

check: