osdev4/build.sh
2021-09-13 15:37:15 +03:00

35 lines
677 B
Bash
Executable File

#!/bin/sh
if [ -z "${MACH}" ]; then
MACH=rpi3b
fi
if [ -z "${PROFILE}" ]; then
PROFILE=debug
fi
LLVM_DIR=$(llvm-config --bindir)
ARCH=aarch64-unknown-none-${MACH}
CARGO_FEATURES="mach_$MACH"
CARGO_ARGS="--target ../etc/aarch64-unknown-none-$MACH.json \
--features $CARGO_FEATURES"
if [ "$PROFILE" = "release" ]; then
CARGO_ARGS="$CARGO_ARGS --release"
fi
set -e
cd kernel
case $1 in
check)
cargo check $CARGO_ARGS
;;
build|"")
cargo build $CARGO_ARGS
;;
esac
cd ..
${LLVM_DIR}/llvm-objcopy -O binary target/${ARCH}/${PROFILE}/kernel \
target/${ARCH}/${PROFILE}/kernel.bin