#!/bin/bash
WS_ROOT_DIR=`pwd`

if [[ "$1" != sm* ]]; then
	echo "Invalid BUILD_CHIP value : $1"
	echo "Please set BUILD_CHIP appropriately, Values allowed : sm8150"
	exit 1
fi

BUILD_CHIP=${1:0:6}
SECURE_NAME=SM-G975U_NA_VZW_USA0 
RUNTYPE=qc_secimg50_tzapp
SIGNCLIENT="${WS_ROOT_DIR}/nhlos/common/build/signclient.jar"
TZ_BUILD_ID=YAQAANAA
PRODUCT_NAME=beyond2qlte_usa_single

rm ${WS_ROOT_DIR}/output/*

QC_TA_BUILD_DIR="${WS_ROOT_DIR}/nhlos/trustzone_images/build/ms"
cd $QC_TA_BUILD_DIR

BIN_OUT_DIR="${QC_TA_BUILD_DIR}/bin/${TZ_BUILD_ID}/unsigned"

rm build-log*
rm LOGFILE*

export TIMA_VERSION=3
export TIMA_ENABLED=1

rm -f tima_config.h

# customize build_linux_samsung.sh and run to generate tima_config.h # sdm855
cp ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung.sh ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh
sed -i '/cd $XBL_BUILD_DIR/{n;s/^/#/}' ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh
sed -i '/cd $AOP_BUILD_DIR/{n;s/^/#/}' ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh
sed -i '/cd $TZ_BUILD_DIR/{n;s/^/#/}' ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh
sed -i '/cd $CDSP_BUILD_DIR/{n;s/^/#/}' ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh
sed -i '/cd $ADSP_BUILD_DIR/{n;s/^/#/}' ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh
sed -i '/cd $SLPI_BUILD_DIR/{n;s/^/#/}' ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh
sed -i '/cd $COMMON_BUILD_DIR/{n;s/^/#/}' ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh
sed -i 's/^MAKE_EMERGENCY_TOOL$/#MAKE_EMERGENCY_TOOL/' ../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh
../../../boot_images/QcomPkg/SDMPkg/build_linux_samsung_ta.sh T_PRODUCT==beyond2qltesq T_MODEL=BEYOND2QLTE T_CARRIER=USA_SINGLE T_TARGET=sdm855

# Model
export MODEL_FAMILY="sm8150"

export LLVM_VERSION=4.0.11
export LLVMROOT=${WS_ROOT_DIR}/llvm/$LLVM_VERSION
export LLVMBIN=$LLVMROOT/bin
export LLVMLIB=$LLVMROOT/lib/clang/$LLVM_VERSION/lib/linux
export LLVMINC=$LLVMROOT/aarch64-none-elf/libc/include
export LLVM32INC=$LLVMROOT/armv7-none-eabi/libc/include
export LLVMTOOLPATH=$LLVMROOT/tools/bin
export LLVMCLANG=$LLVMROOT/lib/clang/$LLVM_VERSION
export MUSL32PATH=$LLVMROOT/armv7-none-eabi/libc
export MUSLPATH=$LLVMROOT/aarch64-none-elf/libc

echo LLVM_VERSION=$LLVM_VERSION
echo LLVMROOT=$LLVMROOT
echo LLVMBIN=$LLVMBIN
echo LLVMLIB=$LLVMLIB
echo LLVMINC=$LLVMINC
echo LLVM32INC=$LLVM32INC
echo LLVMTOOLPATH=$LLVMTOOLPATH
echo LLVMCLANG=$LLVMCLANG
echo MUSL32PATH=$MUSL32PATH
echo MUSLPATH=$MUSLPATH

QC_TA_BUILD_DIR="${WS_ROOT_DIR}/nhlos/trustzone_images/build/ms"
BIN_OUT_DIR="${QC_TA_BUILD_DIR}/bin/${TZ_BUILD_ID}/unsigned"
TEE_OUT_DIR="${WS_ROOT_DIR}/output"
mkdir -p $TEE_OUT_DIR

COMMON_TA_LIST=( "pebble" ) # "pebble"

for TA_NAME in "${COMMON_TA_LIST[@]}"; do

    echo ====================== BUILD TA =======================
    python build_all.py -b TZ.XF.5.0 CHIPSET=$BUILD_CHIP PRODUCT_NAME=$PRODUCT_NAME --config=build_config_deploy.xml $TA_NAME --clean
    python build_all.py -b TZ.XF.5.0 CHIPSET=$BUILD_CHIP PRODUCT_NAME=$PRODUCT_NAME --cnb --config=build_config_deploy.xml --cbt $TA_NAME
    java -jar ${SIGNCLIENT} -model ${SECURE_NAME} -runtype ${RUNTYPE} -input ${BIN_OUT_DIR}/${TA_NAME}.mbn -output ${TEE_OUT_DIR}/${TA_NAME}.mbn
    #python pil-splitter.py ${TEE_OUT_DIR}/${TA_NAME}.mbn ${TEE_OUT_DIR}/
    python "${WS_ROOT_DIR}/nhlos/common/config/pil-splitter.py" ${TEE_OUT_DIR}/${TA_NAME}.mbn ${TEE_OUT_DIR}/${TA_NAME}

done
