unet-cli: strip initial newline in usage message
[project/unetd.git] / build.sh
1 #!/bin/bash
2
3 build() (
4 local dir="$1"; shift
5 cd "$dir"
6 cmake -DCMAKE_INSTALL_PREFIX=$PWD/../install "$@" .
7 make -j9
8 make install
9 )
10
11 clone() (
12 local dir="$1"
13 local url="$2"
14 if [ -d "$dir" ]; then
15 cd "$dir"
16 git pull --rebase
17 else
18 git clone "$url" "$dir"
19 fi
20 )
21
22 UNAME="$(uname)"
23 set -e -x
24 rm -rf install
25 mkdir -p install
26 ln -s lib install/lib64
27 clone libubox git://git.openwrt.org/project/libubox.git
28 build libubox -DBUILD_LUA=off -DCMAKE_POSITION_INDEPENDENT_CODE=on
29 if [ "$UNAME" = "Linux" ]; then
30 clone libnl-tiny git://git.openwrt.org/project/libnl-tiny.git
31 build libnl-tiny -DBUILD_LUA=off -DCMAKE_POSITION_INDEPENDENT_CODE=on
32 clone libbpf https://github.com/libbpf/libbpf
33 make -j9 -C libbpf/src PREFIX=$PWD/install all install
34 fi
35 rm -f install/lib/*.{so,dylib}
36 if [ "$UNAME" = "Linux" ]; then
37 mv install/include/libnl-tiny/* install/include/
38 fi
39 export CFLAGS=-I$PWD/install/include
40 export LDFLAGS=-L$PWD/install/lib
41 cmake -DCMAKE_FIND_ROOT_PATH=$PWD/install -DUBUS_SUPPORT=off .
42 make -j9