-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
34 lines (26 loc) · 958 Bytes
/
Makefile
File metadata and controls
34 lines (26 loc) · 958 Bytes
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
CC= gcc
#x86_64-w64-mingw32-gcc
#clang
#gcc
JAVA= -I/usr/lib/jvm/java-8-openjdk-amd64/include -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux
DBG= -g
all: lib lib-jni lib-jni-dll
init:
mkdir obj/ -p
mkdir lib/ -p
rm -f ../libsmsg.so
ln -s libsmsg/lib/libsmsg.so ../libsmsg.so
lib: clean obj/smsg.o
$(CC) -shared -o lib/libsmsg.so obj/smsg.o
lib-jni: clean obj/smsg.o obj/jni_wrapper.o
$(CC) $(JAVA) -shared -o lib/libjni-smsg.so obj/smsg.o obj/jni_wrapper.o
lib-jni-dll: clean
x86_64-w64-mingw32-gcc $(JAVA) $(DBG) -c -fPIC src/jni_wrapper.c -o obj/win64_jni_wrapper.o
x86_64-w64-mingw32-gcc $(DBG) -c -fPIC src/smsg.c -o obj/win64_smsg.o
x86_64-w64-mingw32-gcc $(JAVA) -shared -o lib/jni-smsg.dll obj/win64_smsg.o obj/win64_jni_wrapper.o
obj/smsg.o: src/smsg.c
$(CC) $(DBG) -c -fPIC src/smsg.c -o obj/smsg.o
obj/jni_wrapper.o: src/jni_wrapper.c
$(CC) $(JAVA) $(DBG) -c -fPIC src/jni_wrapper.c -o obj/jni_wrapper.o
clean:
rm -f obj/*.o