Maven calls make for native code.
[yaz4j-moved-to-github.git] / libyaz4j / Makefile
1 JNI_DIR=/usr/lib/jvm/java-6-sun/include
2 YAZ_CONFIG=yaz-config
3 YAZ_PREFIX=`${YAZ_CONFIG} --prefix`
4 YAZ_CFLAGS=`${YAZ_CONFIG} --cflags`
5 YAZ_LIBS=`${YAZ_CONFIG} --libs`
6
7 all: lib/libyaz4j.so
8
9 src/libyaz4j.cpp: libyaz4j.i
10         swig -I"include" -I"$(YAZ_PREFIX)/include" -outdir ../src/main/java/org/yaz4j/jni -package org.yaz4j.jni -o src/libyaz4j.cpp -c++ -java libyaz4j.i
11
12 obj/libyaz4j.o: src/libyaz4j.cpp
13         g++ -fPIC -I"include" -I"$(JNI_DIR)" -I"$(JNI_DIR)/linux" $(YAZ_CFLAGS) -c -Wall -o obj/libyaz4j.o src/libyaz4j.cpp
14
15 obj/zoom-extra.o: src/zoom-extra.cpp
16         g++ -fPIC -I"include" -I"$(JNI_DIR)" -I"$(JNI_DIR)/linux" $(YAZ_CFLAGS) -c -Wall -o obj/zoom-extra.o src/zoom-extra.cpp
17
18 lib/libyaz4j.so: obj/zoom-extra.o obj/libyaz4j.o
19         g++ -shared obj/libyaz4j.o obj/zoom-extra.o  -o lib/libyaz4j.so $(YAZ_LIBS)
20
21 clean:
22         rm -f obj/*.o lib/libyaz4j.* src/libyaz4j.cpp ../src/main/java/org/jni/*.java