38 lines
726 B
Bash
Executable File
38 lines
726 B
Bash
Executable File
#!/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" \
|
|
$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" \
|
|
$kernel_src_dir
|
|
ninja
|
|
popd
|