osdev4/build.sh

35 lines
677 B
Bash
Raw Permalink Normal View History

2021-09-01 17:38:16 +03:00
#!/bin/sh
if [ -z "${MACH}" ]; then
MACH=rpi3b
fi
2021-09-03 22:31:41 +03:00
if [ -z "${PROFILE}" ]; then
PROFILE=debug
fi
LLVM_DIR=$(llvm-config --bindir)
ARCH=aarch64-unknown-none-${MACH}
2021-09-13 15:37:15 +03:00
CARGO_FEATURES="mach_$MACH"
2021-09-03 11:01:55 +03:00
CARGO_ARGS="--target ../etc/aarch64-unknown-none-$MACH.json \
2021-09-13 15:37:15 +03:00
--features $CARGO_FEATURES"
2021-09-03 22:31:41 +03:00
if [ "$PROFILE" = "release" ]; then
CARGO_ARGS="$CARGO_ARGS --release"
fi
2021-09-01 17:38:16 +03:00
set -e
2021-09-03 11:01:55 +03:00
cd kernel
case $1 in
check)
cargo check $CARGO_ARGS
;;
build|"")
cargo build $CARGO_ARGS
;;
esac
2021-09-01 17:38:16 +03:00
cd ..
2021-09-03 22:31:41 +03:00
${LLVM_DIR}/llvm-objcopy -O binary target/${ARCH}/${PROFILE}/kernel \
target/${ARCH}/${PROFILE}/kernel.bin