#! /bin/bash

set -e

source ./print_msg.config

if [ "$1" == "" ] || [ "$2" == "" ]; then
print_green_msg " ========= COMPILATION EXAMPLES ==========="
print_green_msg " ./TG_TA_BUILD_9820.sh exynos9820 sdk30|sdk40 BTS"
print_green_msg " ================= END ===================="
exit
fi

case $3 in
	BTS)
	export USEBTS=true
	echo "build BTS"
	;;
	noBTS)
	export USEBTS=false
	echo "build noBTS"
	;;
	*)
	echo "Provide model name, for ex : ./TG_TA_BUILD_9820.sh exynos9820 sdk30|sdk40"
	exit
	;;
esac

export BUILD_ROOT=$(pwd)
export BLOWFISH=$2
export USE_BF=true
export ICCC_ENABLED=true

# Add build CL
export BUILD_CHANGELIST=$P4_CHANGELIST
export BUILD_SHELVED=$P4_REVIEW
export TA_NAME

cd $BUILD_ROOT
LOCAL_SCHEME_BF_PRD_DIR="app/src/tee_production_localScheme/assets/ta/bf/${1:6:${#1}}"
LOCAL_SCHEME_BF_STG_DIR="app/src/tee_staging_localScheme/assets/ta/bf/${1:6:${#1}}"
if [ $3 == "BTS" ]; then
LOCAL_SCHEME_OUT_DIR_PRD="${BUILD_ROOT}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${LOCAL_SCHEME_BF_PRD_DIR}_BTS"
LOCAL_SCHEME_OUT_DIR_STG="${BUILD_ROOT}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${LOCAL_SCHEME_BF_STG_DIR}_BTS"
else
LOCAL_SCHEME_OUT_DIR_PRD="${BUILD_ROOT}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${LOCAL_SCHEME_BF_PRD_DIR}"
LOCAL_SCHEME_OUT_DIR_STG="${BUILD_ROOT}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${LOCAL_SCHEME_BF_STG_DIR}"
fi
mkdir -p $LOCAL_SCHEME_OUT_DIR_PRD
mkdir -p $LOCAL_SCHEME_OUT_DIR_STG

LOCAL_SCHEME_TA_LIST=("bc_core")

for TA_NAME in "${LOCAL_SCHEME_TA_LIST[@]}"; do
	if [ -d "${TA_NAME}" ]; then
        if [ $TA_NAME == krcc_pay ]; then
            export GLOBAL_MEMBERSHIP=true
        fi
        
        source ./build_version.config

		cd ${TA_NAME}
		print_green_msg ""
		print_green_msg "******************************************************************"
		print_green_msg "*    Build Staging TA $TA_NAME and $1                            *"
		print_green_msg "******************************************************************"

		./build_${TA_NAME}_for_signing.sh $1 $2 -ds
		ls ./Out | while read line; do mv ./Out/$line ./Out/$line.mp3; done
		cp -rf Out/0* ${LOCAL_SCHEME_OUT_DIR_STG}/
		rm -rf Out

		print_green_msg ""
		print_green_msg "******************************************************************"
		print_green_msg "*    Build Production TA $TA_NAME and $1                         *"
		print_green_msg "******************************************************************"

		./build_${TA_NAME}_for_signing.sh $1 $2
		ls ./Out | while read line; do mv ./Out/$line ./Out/$line.mp3; done
		cp -rf Out/0* ${LOCAL_SCHEME_OUT_DIR_PRD}/
		rm -rf Out

		cd $BUILD_ROOT
	fi
done



cd $BUILD_ROOT
CMN_BF_PRD_DIR="app/src/cmn_production/assets/ta/bf/${1:6:${#1}}"
CMN_BF_STG_DIR="app/src/cmn_staging/assets/ta/bf/${1:6:${#1}}"
if [ $3 == "BTS" ]; then
CMN_OUT_DIR_PRD="${BUILD_ROOT}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${CMN_BF_PRD_DIR}_BTS"
CMN_OUT_DIR_STG="${BUILD_ROOT}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${CMN_BF_STG_DIR}_BTS"
else
CMN_OUT_DIR_PRD="${BUILD_ROOT}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${CMN_BF_PRD_DIR}"
CMN_OUT_DIR_STG="${BUILD_ROOT}/${JOB_NAME}${BUILD_DISPLAY_NAME}_v${P4_CHANGELIST}/${CMN_BF_STG_DIR}"
fi
mkdir -p $CMN_OUT_DIR_PRD
mkdir -p $CMN_OUT_DIR_STG

BC_TUI=("bc_tui")
if [ -d "$BC_TUI" ]; then
	print_green_msg "******************************************************************"
	print_green_msg "*    Build ${TA_NAME}                                           *"
	print_green_msg "******************************************************************"

	TA_NAME=bc_tui
	source ./build_version.config

	cd ${TA_NAME}

	export SUPPORT_IRIS=false
	export SUPPORT_SOFTKEY=false
	export SUPPORT_SOFTKEY_PUNCHCUT=true


	print_green_msg ""
	print_green_msg "******************************************************************"
	print_green_msg "*    Build Staging TA $1                                  *"
	print_green_msg "******************************************************************"

	mkdir -p $CMN_OUT_DIR_STG
	./build_bc_tui_for_signing.sh $1 $2 -d
	#cp -rf Out/bc_tui $CMN_OUT_DIR_STG/bc_tui.elf
	ls ./Out | while read line; do mv ./Out/$line ./Out/$line.mp3; done
	cp -rf Out/0* $CMN_OUT_DIR_STG
	rm -rf Out

	print_green_msg ""
	print_green_msg "******************************************************************"
	print_green_msg "*    Build Production TA and $1                               *"
	print_green_msg "******************************************************************"

	mkdir -p $CMN_OUT_DIR_PRD
	./build_bc_tui_for_signing.sh $1 $2
	#cp -rf Out/bc_tui $CMN_OUT_DIR_PRD/bc_tui.elf
	ls ./Out | while read line; do mv ./Out/$line ./Out/$line.mp3; done
	cp -rf Out/0* $CMN_OUT_DIR_PRD
	rm -rf Out

fi

cd $BUILD_ROOT

print_yellow_msg ""
print_yellow_msg "******************************************************************"
print_yellow_msg "* Build Done !!!!                                                *"
print_yellow_msg "******************************************************************"
