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