forked from Qortal/Brooklyn
54 lines
1.3 KiB
Plaintext
54 lines
1.3 KiB
Plaintext
|
#!/bin/bash
|
||
|
BUILDTYPE=Release
|
||
|
ARCH=$(uname -m)
|
||
|
ARM64=OFF
|
||
|
CMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake
|
||
|
|
||
|
if [ "$1" = "--debug" ]; then
|
||
|
BUILDTYPE=Debug
|
||
|
shift
|
||
|
fi
|
||
|
|
||
|
if [ "$1" = "--aarch64" ]; then
|
||
|
ARM64=ON
|
||
|
CMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/aarch64-linux-gnu.cmake
|
||
|
shift
|
||
|
fi
|
||
|
|
||
|
BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`;
|
||
|
|
||
|
if [ $ARCH = "armv6l" ] || [ $ARCH = "armv7l" ] || [ $ARCH = "aarch64" ]; then
|
||
|
# Native compile on the Raspberry Pi
|
||
|
mkdir -p build/raspberry/$BUILDSUBDIR
|
||
|
pushd build/raspberry/$BUILDSUBDIR
|
||
|
cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../..
|
||
|
if [ $ARCH = "armv6l" ]; then
|
||
|
make
|
||
|
else
|
||
|
make -j4
|
||
|
fi
|
||
|
if [ "$1" != "" ]; then
|
||
|
sudo make install DESTDIR=$1
|
||
|
else
|
||
|
sudo make install
|
||
|
fi
|
||
|
elif [ "$1" = "--native" ]; then
|
||
|
# Build natively on the host
|
||
|
mkdir -p build/native/$BUILDSUBDIR
|
||
|
pushd build/native/$BUILDSUBDIR
|
||
|
cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../..
|
||
|
shift
|
||
|
make -j `nproc` $*
|
||
|
else
|
||
|
# Cross compile on a more capable machine
|
||
|
mkdir -p build/arm-linux/$BUILDSUBDIR
|
||
|
pushd build/arm-linux/$BUILDSUBDIR
|
||
|
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_TOOLCHAIN_FILE -DCMAKE_BUILD_TYPE=$BUILDTYPE -DARM64=$ARM64 ../../..
|
||
|
make -j `nproc`
|
||
|
|
||
|
if [ "$1" != "" ]; then
|
||
|
sudo make install DESTDIR=$1
|
||
|
fi
|
||
|
fi
|
||
|
popd
|