-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.sh
37 lines (31 loc) · 1.07 KB
/
build.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/bin/bash
set -euo pipefail
# Path variables
DIR=$(readlink -f .)
MAIN=$(readlink -f ${DIR}/..)
# Resources
export CLANG_PATH=$MAIN/clang-tc/bin/
export PATH=${CLANG_PATH}:${PATH}
export CLANG_TRIPLE="aarch64-linux-gnu-"
export CROSS_COMPILE="aarch64-linux-gnu-"
# Manual ccache configuration if not running in github action
if [ -z "$GITHUB_ACTIONS" ]; then
echo "Building in local machine!"
mkdir -p "$(pwd)/.ccache" 2>/dev/null
export CCACHE_DIR="$(pwd)/.ccache"
fi
export USE_CCACHE=1
# Config
THREAD="-j$(nproc --all)"
DEFCONFIG="gki_defconfig"
export ARCH=arm64
export SUBARCH=$ARCH
export KBUILD_BUILD_USER=bachnxuan
LLVM_CONFIG="LLVM=1 LLVM_IAS=1 AR=llvm-ar NM=llvm-nm OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump STRIP=llvm-strip"
DATE_START=$(date +"%s")
make $THREAD CC="ccache clang" CXX="ccache clang++" $LLVM_CONFIG $DEFCONFIG O=out
make $THREAD CC="ccache clang" CXX="ccache clang++" $LLVM_CONFIG \
LTO=thin O=out 2>&1 | tee kernel.log
DATE_END=$(date +"%s")
DIFF=$(($DATE_END - $DATE_START))
echo "Time: $(($DIFF / 60)) minute(s) and $(($DIFF % 60)) seconds."