forked from bgroenks96/java-global-input-hook
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbuild_native.sh
More file actions
executable file
·53 lines (38 loc) · 2.08 KB
/
build_native.sh
File metadata and controls
executable file
·53 lines (38 loc) · 2.08 KB
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
#!/bin/sh
SRC="./src/main/native"
BIN="./bin"
LIB="./lib"
OBJ1="KeyboardHook_X11"
OBJ2="NativeKeyCodes_X11"
OBJ3="MouseHook_X11"
LIBKEYNAME=keyboardhook
LIBMOUSENAME=mousehook
clean_objects() {
rm -f $BIN/*.o
}
# clean all output
clean_objects
rm -f $LIB/*.so src/main/java/*.lib
echo "Compiling lib$LIBKEYNAME x86"
gcc -I"/usr/lib/jvm/java-7-openjdk-amd64/include" -I"/usr/lib/jvm/java-7-openjdk-amd64/include/linux" -c -m32 -fPIC -o $BIN/$OBJ1.o $SRC/keyboard/$OBJ1.c
gcc -I"/usr/lib/jvm/java-7-openjdk-amd64/include" -I"/usr/lib/jvm/java-7-openjdk-amd64/include/linux" -c -m32 -fPIC -o $BIN/$OBJ2.o $SRC/keyboard/$OBJ2.c
gcc -shared -m32 -o $LIB/lib$LIBKEYNAME-linux-i386.so $BIN/*.o -pthread -lX11
clean_objects
echo "Compiling lib$LIBMOUSENAME x86"
gcc -I"/usr/lib/jvm/java-7-openjdk-amd64/include" -I"/usr/lib/jvm/java-7-openjdk-amd64/include/linux" -c -m32 -fPIC -o $BIN/$OBJ3.o $SRC/mouse/$OBJ3.c
gcc -shared -m32 -o $LIB/lib$LIBMOUSENAME-linux-i386.so $BIN/*.o -pthread -lX11
clean_objects
echo "Compiling libkeyboardhook x86_64"
gcc -I"/usr/lib/jvm/java-7-openjdk-amd64/include" -I"/usr/lib/jvm/java-7-openjdk-amd64/include/linux" -c -m64 -fPIC -o $BIN/$OBJ1.o $SRC/keyboard/$OBJ1.c
gcc -I"/usr/lib/jvm/java-7-openjdk-amd64/include" -I"/usr/lib/jvm/java-7-openjdk-amd64/include/linux" -c -m64 -fPIC -o $BIN/$OBJ2.o $SRC/keyboard/$OBJ2.c
gcc -shared -m64 -o $LIB/lib$LIBKEYNAME-linux-amd64.so $BIN/*.o -pthread -lX11
clean_objects
echo "Compiling lib$LIBMOUSENAME x86_64"
gcc -I"/usr/lib/jvm/java-7-openjdk-amd64/include" -I"/usr/lib/jvm/java-7-openjdk-amd64/include/linux" -c -m64 -fPIC -o $BIN/$OBJ3.o $SRC/mouse/$OBJ3.c
gcc -shared -m64 -o $LIB/lib$LIBMOUSENAME-linux-amd64.so $BIN/*.o -pthread -lX11
clean_objects
# copy native libraries to primary java source path
cp -f $LIB/libkeyboardhook-linux-i386.so ./src/main/java/keyboardhook-linux-i386.lib
cp -f $LIB/libkeyboardhook-linux-amd64.so ./src/main/java/keyboardhook-linux-amd64.lib
cp -f $LIB/libmousehook-linux-i386.so ./src/main/java/mousehook-linux-i386.lib
cp -f $LIB/libmousehook-linux-amd64.so ./src/main/java/mousehook-linux-amd64.lib