#!/bin/bash
WS_ROOT_DIR=`pwd`

if [[ "$1" != sm* ]]; then
	echo "Invalid BUILD_CHIP value : $1"
	echo "Please set BUILD_CHIP appropriately, Values allowed : sm8450"
	exit 1
fi

case $2 in
    g0q)
    export ESE_COMMON_VENDOR=true
    ;;
    *)
    echo "Provide model name, for ex : ./QCOM_TA_BUILD_8450_TUI.sh sm8450 g0q"
    exit
    ;;
esac


# Add build CL
export BUILD_CHANGELIST=$P4_CHANGELIST
export BUILD_SHELVED=$P4_REVIEW

BUILD_CHIP=${1:0:6}
SECURE_NAME=QSEE_${BUILD_CHIP^^}_TA
RUNTYPE=qc_secimg50_tzapp
SIGNCLIENT="${WS_ROOT_DIR}/LocalTASigner_210728.jar"
TZ_BUILD_ID=WAPIONAA

QC_TA_BUILD_DIR="${WS_ROOT_DIR}/nhlos/qtee_tas/build/ms"
#cd $QC_TA_BUILD_DIR

BIN_OUT_DIR="${QC_TA_BUILD_DIR}/bin/${TZ_BUILD_ID}"

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
cp ./nhlos/boot_images/boot_tools/build_linux_samsung.sh ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i 's/REPLACE_CHIPNAME_XBL_HEADERS/#REPLACE_CHIPNAME_XBL_HEADERS/' ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i 's/MERGE_HYPX_AND_SIGN/#MERGE_HYPX_AND_SIGN/' ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i '/cd $SLPI_BUILD_DIR/{n;s/^/#/}' ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i 's/.\/secure_boot_change.sh/#.\/secure_boot_change.sh/' ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i 's/.\/tzapp_signing.sh/#.\/tzapp_signing.sh/' ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i 's/.\/buildss.sh/#.\/buildss.sh/' ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i 's/.\/make_aop_sym.sh/#.\/make_aop_sym.sh/' ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i 's/.\/make_ddr_test_tool.sh/#.\/make_ddr_test_tool.sh/' ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i 's/.\/make_edl.sh/#.\/make_edl.sh/' ./nhlos/boot_images/boot_tools/build_linux_samsung_ta.sh
sed -i 's/env.RunMinkidl()$/tempEnv=""/' ./nhlos/trustzone_images/ssg/bsp/build/scripts/idlcompiler.py

cd ./nhlos/boot_images/boot_tools/
chmod 755 ./build_linux_samsung_ta.sh
./build_linux_samsung_ta.sh T_PRODUCT=g0xq T_MODEL=G0Q T_CARRIER=USA_SINGLEW T_TARGET=sm8450 T_CHIPNAME=$BUILD_CHIP

#cd $QC_TA_BUILD_DIR 
cd $WS_ROOT_DIR

# Model
export MODEL_FAMILY="sm8450"

# Demo
export ENABLE_DEMO=false

#export NOCHECK_TRUSTED_BOOT=true
export ICCC_ENABLED=true

cd nhlos
source ./environment_path_set.sh 12.0.2

cd ./nhlos/qtee_tas
CFG_FILE_ORG="sdk/latest/external/config/sdk_config_lnx_org.cfg"
CFG_FILE="sdk/latest/external/config/sdk_config_lnx.cfg"
 
if [ ! -e $CFG_FILE_ORG ];then
  cp $CFG_FILE $CFG_FILE_ORG
fi
rm $CFG_FILE

echo "CLANG_VERSION = \"12.0.2\"" >> $CFG_FILE
echo "GNUARM7 = \"$GNUARM7\"" >> $CFG_FILE
echo "GNULIBC = \"$GNULIBC\"" >> $CFG_FILE
echo "GNUPATH = \"$GNUPATH\"" >> $CFG_FILE
echo "GNUROOT = \"$GNUROOT\"" >> $CFG_FILE
echo "GNUTOOL = \"$GNUTOOL\"" >> $CFG_FILE
echo "LLVM32INC = \"$LLVM32INC\"" >> $CFG_FILE
echo "LLVMBIN = \"$LLVMBIN\"" >> $CFG_FILE
echo "LLVMCLANG = \"$LLVMCLANG\"" >> $CFG_FILE
echo "LLVMINC = \"$LLVMINC\"" >> $CFG_FILE
echo "LLVMLIB = \"$LLVMLIB\"" >> $CFG_FILE
echo "LLVMLIBPROP = \"$LLVMLIBPROP\"" >> $CFG_FILE
echo "LLVMROOT = \"$LLVMROOT\"" >> $CFG_FILE
echo "LLVMTOOLPATH = \"$LLVMTOOLPATH\"" >> $CFG_FILE
echo "LLVM_VERSION = \"$LLVM_VERSION\"" >> $CFG_FILE
echo "MUSL32PATH = \"$MUSL32PATH\"" >> $CFG_FILE
echo "MUSLPATH = \"$MUSLPATH\"" >> $CFG_FILE

TA_NAME=bc_tui
source ${WS_ROOT_DIR}/build_version.config
export SUPPORT_IRIS=false
export SUPPORT_SOFTKEY_PUNCHCUT=true

TUI_QC_PRD_DIR="app/src/cmn_production/assets/ta/qc/${1:2:${#1}}"
TUI_QC_STG_DIR="app/src/cmn_staging/assets/ta/qc/${1:2:${#1}}"
TUI_OUT_DIR_PRD="${WS_ROOT_DIR}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${TUI_QC_PRD_DIR}"
TUI_OUT_DIR_STG="${WS_ROOT_DIR}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${TUI_QC_STG_DIR}"
mkdir -p $TUI_OUT_DIR_PRD
mkdir -p $TUI_OUT_DIR_STG

export Q2Q_PROJECT=false
export B2Q_PROJECT=false

echo ====================== BUILD PRODUCTION TA $TUI_DPI =======================
export STAGING_ENV=false
	python3 ../trustzone_images/tools/build/scons/SCons/scons -C apps/securemsm/trustzone/qsapps/$TA_NAME/build $TA_NAME CHIPSET=waipio qtee_sdk_version=latest
java -jar ${SIGNCLIENT} -model ${SECURE_NAME} -runtype ${RUNTYPE} -input ${BIN_OUT_DIR}/${TA_NAME}.mbn -output ${TUI_OUT_DIR_PRD}/${TA_NAME}.mp3 -alg ECDSA

echo ======================== BUILD STAGING TA $TUI_DPI ========================
export STAGING_ENV=true
	python3 ../trustzone_images/tools/build/scons/SCons/scons -C apps/securemsm/trustzone/qsapps/$TA_NAME/build $TA_NAME CHIPSET=waipio qtee_sdk_version=latest
java -jar ${SIGNCLIENT} -model ${SECURE_NAME} -runtype ${RUNTYPE} -input ${BIN_OUT_DIR}/${TA_NAME}.mbn -output ${TUI_OUT_DIR_STG}/${TA_NAME}.mp3 -alg ECDSA

echo ======================== BUILD end ========================
