xref: /aosp_15_r20/system/chre/build/build_tinysys.sh (revision 84e339476a462649f82315436d70fd732297a399)
1*84e33947SAndroid Build Coastguard Worker#!/bin/bash
2*84e33947SAndroid Build Coastguard Worker# Script used to build Tinysys.
3*84e33947SAndroid Build Coastguard Worker
4*84e33947SAndroid Build Coastguard Worker# make sure $ANDROID_BUILD_TOP is set
5*84e33947SAndroid Build Coastguard Workerif [[ -z "$ANDROID_BUILD_TOP" ]]; then
6*84e33947SAndroid Build Coastguard Worker    echo "ANDROID_BUILD_TOP must be defined" 1>&2
7*84e33947SAndroid Build Coastguard Worker    exit 1
8*84e33947SAndroid Build Coastguard Workerfi
9*84e33947SAndroid Build Coastguard Worker
10*84e33947SAndroid Build Coastguard Worker# make sure $RISCV_TOOLCHAIN_PATH & $RISCV_TINYSYS_PREFIX are set
11*84e33947SAndroid Build Coastguard Workerif [[ -z "$RISCV_TOOLCHAIN_PATH" ]] || [[ -z "$RISCV_TINYSYS_PREFIX" ]]; then
12*84e33947SAndroid Build Coastguard Worker    echo "Must provide RISCV_TOOLCHAIN_PATH & RISCV_TINYSYS_PREFIX" 1>&2
13*84e33947SAndroid Build Coastguard Worker    echo "Example:" 1>&2
14*84e33947SAndroid Build Coastguard Worker    echo " RISCV_TOOLCHAIN_PATH=\$ANDROID_BUILD_TOP/prebuilts/clang/md32rv/linux-x86 \\" 1>&2
15*84e33947SAndroid Build Coastguard Worker    echo " RISCV_TINYSYS_PREFIX=\$ANDROID_BUILD_TOP/vendor/mediatek/proprietary/tinysys \\" 1>&2
16*84e33947SAndroid Build Coastguard Worker    echo " build/tools/build_tinysys.sh" 1>&2
17*84e33947SAndroid Build Coastguard Worker    exit 1
18*84e33947SAndroid Build Coastguard Workerfi
19*84e33947SAndroid Build Coastguard Worker
20*84e33947SAndroid Build Coastguard Workerusage() {
21*84e33947SAndroid Build Coastguard Worker    echo "Usage: $0 [options] [target]" 1>&2;
22*84e33947SAndroid Build Coastguard Worker    echo "options:" 1>&2;
23*84e33947SAndroid Build Coastguard Worker    echo "    -c    clean build that runs 'make clean' before building" 1>&2;
24*84e33947SAndroid Build Coastguard Worker    echo "Supported targets:" 1>&2;
25*84e33947SAndroid Build Coastguard Worker    echo "    aosp_riscv55e03_tinysys (default)" 1>&2;
26*84e33947SAndroid Build Coastguard Worker    echo "    aosp_riscv55e300_tinysys" 1>&2;
27*84e33947SAndroid Build Coastguard Worker}
28*84e33947SAndroid Build Coastguard Worker
29*84e33947SAndroid Build Coastguard Worker# do incremental build by default.
30*84e33947SAndroid Build Coastguard Workerclean_build="false"
31*84e33947SAndroid Build Coastguard Workerwhile getopts "c" opt; do
32*84e33947SAndroid Build Coastguard Worker  case ${opt} in
33*84e33947SAndroid Build Coastguard Worker    c) clean_build="true" ;;
34*84e33947SAndroid Build Coastguard Worker    *) usage; exit 0 ;;
35*84e33947SAndroid Build Coastguard Worker  esac
36*84e33947SAndroid Build Coastguard Workerdone
37*84e33947SAndroid Build Coastguard Worker
38*84e33947SAndroid Build Coastguard Workerpushd $ANDROID_BUILD_TOP/system/chre > /dev/null
39*84e33947SAndroid Build Coastguard Worker
40*84e33947SAndroid Build Coastguard Workershift $(($OPTIND - 1))
41*84e33947SAndroid Build Coastguard Workertarget=${1:-aosp_riscv55e03_tinysys}
42*84e33947SAndroid Build Coastguard Worker
43*84e33947SAndroid Build Coastguard Workerif [[ "$clean_build" == "true" ]];then
44*84e33947SAndroid Build Coastguard Worker  make clean
45*84e33947SAndroid Build Coastguard Workerfi
46*84e33947SAndroid Build Coastguard Worker
47*84e33947SAndroid Build Coastguard WorkerCHRE_VARIANT_MK_INCLUDES=variant/tinysys/variant.mk \
48*84e33947SAndroid Build Coastguard Worker IS_ARCHIVE_ONLY_BUILD=true \
49*84e33947SAndroid Build Coastguard Worker make $target
50*84e33947SAndroid Build Coastguard Worker
51*84e33947SAndroid Build Coastguard Workerpopd > /dev/null
52