34 lines
715 B
Bash
Executable File
34 lines
715 B
Bash
Executable File
#!/bin/zsh
|
|
source common.zsh
|
|
set -eo pipefail
|
|
let jobs=$(nproc)-2
|
|
|
|
OPTS=(--clang)
|
|
|
|
zparseopts -D -K -clang+=OPTS -gcc+=OPTS -arm64+=OPTS -i686+=OPTS -env+=OPTS
|
|
|
|
[[ -z "$ARCH" ]] && ARCH=$(uname -m)
|
|
|
|
case ${OPTS[-1]} in
|
|
--clang) CC=clang ;;
|
|
--gcc) CC=gcc ;;
|
|
--arm64) ARCH=arm64
|
|
CC=gcc
|
|
CROSS_COMPILE=aarch64-linux-gnu-
|
|
;;
|
|
--i686) ARCH=i386
|
|
CC=gcc
|
|
;;
|
|
esac
|
|
|
|
if [ -f .git/config ] && [ -f .git/HEAD ]; then
|
|
REV=$(git rev-parse --short HEAD)$(git diff --quiet || echo "-dirty")
|
|
scripts/config --set-str CONFIG_LOCALVERSION "-g$REV"
|
|
fi
|
|
|
|
make -j$jobs CC=$CC ARCH=$ARCH CROSS_COMPILE=$CROSS_COMPILE $* | python -u $COLORS/make.py
|
|
|
|
if [[ "$CC" == "clang" ]]; then
|
|
scripts/clang-tools/gen_compile_commands.py &
|
|
fi
|