#!/bin/bash # Script used to build Tinysys. # make sure $ANDROID_BUILD_TOP is set if [[ -z "$ANDROID_BUILD_TOP" ]]; then echo "ANDROID_BUILD_TOP must be defined" 1>&2 exit 1 fi # make sure $RISCV_TOOLCHAIN_PATH & $RISCV_TINYSYS_PREFIX are set if [[ -z "$RISCV_TOOLCHAIN_PATH" ]] || [[ -z "$RISCV_TINYSYS_PREFIX" ]]; then echo "Must provide RISCV_TOOLCHAIN_PATH & RISCV_TINYSYS_PREFIX" 1>&2 echo "Example:" 1>&2 echo " RISCV_TOOLCHAIN_PATH=\$ANDROID_BUILD_TOP/prebuilts/clang/md32rv/linux-x86 \\" 1>&2 echo " RISCV_TINYSYS_PREFIX=\$ANDROID_BUILD_TOP/vendor/mediatek/proprietary/tinysys \\" 1>&2 echo " build/tools/build_tinysys.sh" 1>&2 exit 1 fi usage() { echo "Usage: $0 [options] [target]" 1>&2; echo "options:" 1>&2; echo " -c clean build that runs 'make clean' before building" 1>&2; echo "Supported targets:" 1>&2; echo " aosp_riscv55e03_tinysys (default)" 1>&2; echo " aosp_riscv55e300_tinysys" 1>&2; } # do incremental build by default. clean_build="false" while getopts "c" opt; do case ${opt} in c) clean_build="true" ;; *) usage; exit 0 ;; esac done pushd $ANDROID_BUILD_TOP/system/chre > /dev/null shift $(($OPTIND - 1)) target=${1:-aosp_riscv55e03_tinysys} if [[ "$clean_build" == "true" ]];then make clean fi CHRE_VARIANT_MK_INCLUDES=variant/tinysys/variant.mk \ IS_ARCHIVE_ONLY_BUILD=true \ make $target popd > /dev/null