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