-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild_lib.sh
executable file
·48 lines (38 loc) · 1.69 KB
/
build_lib.sh
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
set -e
VERSION=0.0.2
PROJECT_DIR=$(pwd)
rm -rf dist
# DEBUG
gcc -O0 -ggdb -rdynamic -fPIC -shared -o objs/libnare.so.$VERSION -I includes/ src/nare.c
gcc -O0 -ggdb -fPIC -o objs/nare.o -I includes/ -c src/nare.c
ar rcs objs/libnare.a.$VERSION objs/nare.o
mkdir -p dist/nare-$VERSION-gnu-amd64-DEBUG/lib
mkdir -p dist/nare-$VERSION-gnu-amd64-DEBUG/include
mv objs/libnare.so.$VERSION dist/nare-$VERSION-gnu-amd64-DEBUG/lib/
mv objs/libnare.a.$VERSION dist/nare-$VERSION-gnu-amd64-DEBUG/lib/
cd dist/nare-$VERSION-gnu-amd64-DEBUG/lib/
ln -s libnare.so.$VERSION libnare.so
ln -s libnare.a.$VERSION libnare.a
cd $PROJECT_DIR
cp includes/nare.h dist/nare-$VERSION-gnu-amd64-DEBUG/include
cp LICENSE dist/nare-$VERSION-gnu-amd64-DEBUG/
cp LICENSE-CC0 dist/nare-$VERSION-gnu-amd64-DEBUG/
cp README.md dist/nare-$VERSION-gnu-amd64-DEBUG/
tar -czf dist/nare-$VERSION-gnu-amd64-DEBUG.tar.gz dist/nare-$VERSION-gnu-amd64-DEBUG/
# RELEASE
gcc -O2 -g0 -rdynamic -fPIC -shared -o objs/libnare.so.$VERSION -I includes/ src/nare.c
gcc -O2 -g0 -fPIC -o objs/nare.o -I includes/ -c src/nare.c
ar rcs objs/libnare.a.$VERSION objs/nare.o
mkdir -p dist/nare-$VERSION-gnu-amd64/lib
mkdir -p dist/nare-$VERSION-gnu-amd64/include
mv objs/libnare.so.$VERSION dist/nare-$VERSION-gnu-amd64/lib/
mv objs/libnare.a.$VERSION dist/nare-$VERSION-gnu-amd64/lib/
cd dist/nare-$VERSION-gnu-amd64/lib/
ln -s libnare.so.$VERSION libnare.so
ln -s libnare.a.$VERSION libnare.a
cd $PROJECT_DIR
cp includes/nare.h dist/nare-$VERSION-gnu-amd64/include
cp LICENSE dist/nare-$VERSION-gnu-amd64/
cp LICENSE-CC0 dist/nare-$VERSION-gnu-amd64/
cp README.md dist/nare-$VERSION-gnu-amd64/
tar -czf dist/nare-$VERSION-gnu-amd64.tar.gz dist/nare-$VERSION-gnu-amd64/