#!/bin/bash set -e findpath() { (cd "$(dirname "$0")" && pwd -P) } nproc=$(nproc || sysctl -n hw.ncpu || echo 4) ndkdir=${ANDROID_NDK_ROOT:-$ANDROID_HOME/ndk-bundle} abi=arm64-v8a toolchain=$(findpath $0)/../.thirdparty/toolchains/$(uname)/$abi export PATH=$toolchain/bin:$PATH export ABI=$abi export CPP=$toolchain/bin/$target-cpp export AR=$toolchain/bin/$target-ar export AS=$toolchain/bin/$target-as export NM=$toolchain/bin/$target-nm export CC=$toolchain/bin/clang export CXX=$toolchain/bin/clang++ export LD=$toolchain/bin/$target-ld export RANLIB=$toolchain/bin/$target-ranlib export READELF=$toolchain/bin/$target-readelf if [ -z "$OUT" ]; then export OUT=obj.$abi fi # pkg-config cross-compile sysroot=$(findpath $0)/../.thirdparty/root/$abi echo $sysroot export PKG_CONFIG_DIR= export CFLAGS="-I${sysroot}/include -I${sysroot}/usr/include -g" export PKG_CONFIG_LIBDIR=${sysroot}/lib/pkgconfig:${sysroot}/usr/lib/pkgconfig:${sysroot}/share/pkgconfig export PKG_CONFIG_SYSROOT_DIR=${sysroot} export STATIC=-static export ANDROID=1 # A tad annoying: pkg-config doesn't inject the sysroot. export LDFLAGS="-L${sysroot}/lib -L${sysroot}/usr/lib" make -j $nproc $@