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