#!/bin/bash
WS_ROOT_DIR=`pwd`

if [[ "$1" != mt* ]]; then
	echo "Invalid BUILD_CHIP value : $1" 
	echo "Please set BUILD_CHIP appropriately, Values allowed : mt6768"
	exit 1
fi

if [[ "$2" != T* ]]; then
	echo "Invalid BUILD_SDK value : $2" 
	echo "Please set BUILD_SDK (TBASE SDK version) appropriately, Values allowed : T410"
	exit 1
fi

BUILD_CHIP=${1:0:8}
BUILD_SDK=$2

export TBASE=$BUILD_SDK
export TOOLCHAIN=ARM
export ICCC_ENABLED=true

export NOCHECK_TRUSTED_BOOT=true

# Make all the compiler binaries executable
find ./Common -not -type d -not -iname \*.\* | xargs chmod a+x

# Make all scripts executable
find -not -type d -iname \*.sh | xargs chmod a+x

echo "MT6768(kinibi 410) use recent tz_driver source code / iccc .ol files." 

# Demo
export ENABLE_DEMO=false

################################################################################
#                          PAY_AUTH -> BC_TUI                                  #
################################################################################
CMN_TB_PRD_DIR="app/src/cmn_production/assets/ta/tb/${1:2:${#1}}"
CMN_TB_STG_DIR="app/src/cmn_staging/assets/ta/tb/${1:2:${#1}}"
CMN_OUT_DIR_PRD="${WS_ROOT_DIR}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${CMN_TB_PRD_DIR}"
CMN_OUT_DIR_STG="${WS_ROOT_DIR}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${CMN_TB_STG_DIR}"
mkdir -p $CMN_OUT_DIR_PRD
mkdir -p $CMN_OUT_DIR_STG

BC_TUI=("bc_tui")

echo ======================= BUILD BC_TUI TA ========================

if [ -d "$BC_TUI" ]; then	
 	TA_NAME=bc_tui
    echo ========================= BUILD ${TA_NAME} =========================
 	source ./build_version.config

 	cd ${TA_NAME}

 	export SUPPORT_IRIS=true
 	export SUPPORT_SOFTKEY=true

        echo ======================== BUILD STAGING TA ${TA_NAME} ========================
        mkdir -p $CMN_OUT_DIR_STG
        ./remove_${TA_NAME}_out.sh
        ./build_bc_tui.sh $BUILD_CHIP $BUILD_SDK -dIsur${R}
        rename 's/\.tlbin$/\.mp3/' ./result/*.tlbin
        cp ./result/* $CMN_OUT_DIR_STG

        echo ====================== BUILD PRODUCTION TA ${TA_NAME} =======================
        mkdir -p $CMN_OUT_DIR_PRD/$TUI_DIR/
        ./remove_${TA_NAME}_out.sh
        ./build_bc_tui.sh $BUILD_CHIP $BUILD_SDK -Iur${R}
        rename 's/\.tlbin$/\.mp3/' ./result/*.tlbin
        cp ./result/* $CMN_OUT_DIR_PRD
	
 fi

################################################################################
#                  LOCAL_SCHEME_TA_LIST -> BC_CORE                             #
################################################################################

LOCAL_SCHEME_TB_PRD_DIR="app/src/tee_production_localScheme/assets/ta/tb/${1:2:${#1}}"
LOCAL_SCHEME_TB_STG_DIR="app/src/tee_staging_localScheme/assets/ta/tb/${1:2:${#1}}"
LOCAL_SCHEME_OUT_DIR_PRD="${WS_ROOT_DIR}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${LOCAL_SCHEME_TB_PRD_DIR}"
LOCAL_SCHEME_OUT_DIR_STG="${WS_ROOT_DIR}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${LOCAL_SCHEME_TB_STG_DIR}"
mkdir -p $LOCAL_SCHEME_OUT_DIR_PRD
mkdir -p $LOCAL_SCHEME_OUT_DIR_STG

LOCAL_SCHEME_TA_LIST=("bc_core")

echo ======================= BUILD BC_CORE TA ========================
for TA_NAME in "${LOCAL_SCHEME_TA_LIST[@]}"; do
    if [ -d "${TA_NAME}" ]; then
        echo ========================= BUILD ${TA_NAME} =========================
        source ./build_version.config
        cd ${TA_NAME}

         echo ======================== BUILD STAGING TA ${TA_NAME} ========================
        ./remove_${TA_NAME}_out.sh
        ./build_${TA_NAME}.sh ${BUILD_CHIP} ${BUILD_SDK} -dIs
        rename 's/\.tlbin$/\.mp3/' ./result/*.tlbin
        cp -v ./result/* ${LOCAL_SCHEME_OUT_DIR_STG}/

        echo ====================== BUILD PRODUCTION TA ${TA_NAME} =======================
        ./remove_${TA_NAME}_out.sh
        ./build_${TA_NAME}.sh ${BUILD_CHIP} ${BUILD_SDK} -I
        rename 's/\.tlbin$/\.mp3/' ./result/*.tlbin
        cp -v ./result/* ${LOCAL_SCHEME_OUT_DIR_PRD}/

        cd ..
    fi
done