Files
mango/build.sh

40 lines
802 B
Bash
Raw Normal View History

#!/bin/bash
arch=$1
tools_src_dir="$(pwd)/tools"
kernel_src_dir="$(pwd)"
tools_build_dir="$(pwd)/build/tools"
kernel_build_dir="$(pwd)/build"
bin_dir="$kernel_build_dir/bin"
lib_dir="$kernel_build_dir/lib"
if [[ -z "$arch" ]]; then
echo "No architecture specified."
exit -1
fi
rm -rf $kernel_build_dir
mkdir -p $tools_build_dir
mkdir -p $kernel_build_dir
pushd $tools_build_dir
cmake \
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY="$bin_dir" \
-DCMAKE_LIBRARY_OUTPUT_DIRECTORY="$lib_dir" \
-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY="$lib_dir" \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
$tools_src_dir
ninja
popd
pushd $kernel_build_dir
cmake \
-DBUILD_TOOLS_DIR="$bin_dir" \
-DCMAKE_TOOLCHAIN_FILE="$kernel_src_dir/arch/$arch/toolchain.cmake" \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
$kernel_src_dir
ninja
popd