#!/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