summaryrefslogtreecommitdiff
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: