#!/bin/bash

###################################################
# Start Function
###################################################
SDK_BASIC_FOLDER="../../../../../../TZSDK/android-security-exynos"

function printYellow() {
    echo -e "\e[1;33m$1\e[m"
}

function printGreen() {
    echo -e "\e[1;32m$1\e[m"
}

function printRed() {
    echo -e "\e[1;31m$1\e[m"
}

function printCyan() {
    echo -e "\e[1;36m$1\e[m"
}

function strstr() {
    [ "${1#*$2*}" = "$1" ] && return 1
    return 0
}

###################################################
# Start Build Script
###################################################
if [ "${SDK_BASIC_FOLDER}" != "" ]; then
    export SDK_PATH_ROOT="${SDK_BASIC_FOLDER}/tbase/${PRODUCT_TRUSTZONE_TYPE}"
else
    cd ../../../../../../TZSDK/android-security-exynos/
    TEMP_PATH=$PWD
    cd - > /dev/null

    COMP_PATH_1="/tbase/${PRODUCT_TRUSTZONE_TYPE}"
    COMP_PATH_2=`echo "${TEMP_PATH}" | rev | cut -c1-${#COMP_PATH_1} | rev`

    if [ "${COMP_PATH_1}" == "${COMP_PATH_2}" ]; then
        export SDK_PATH_ROOT=$TEMP_PATH
    else
        printGreen "Finding Trust OS SDK folder..."
        if [ "${SDK_FIND_BASIC_FOLDER}" == "" ]; then
            SDK_FIND_BASIC_FOLDER="/"
        fi

        SDK_PATH_ROOT=`find "${SDK_FIND_BASIC_FOLDER}" -name "AndroidIntegration" -type d 2>/dev/null | egrep -e "/tbase/${PRODUCT_TRUSTZONE_TYPE}/" | sed "s/\/AndroidIntegration//"`

        if [ "${SDK_PATH_ROOT}" == "" ]; then
            printRed "There is no SDK, so stop build !!!"
            exit
        fi

        set $SDK_PATH_ROOT
        SDK_PATH_NUM=$#
        if [ $((SDK_PATH_NUM)) -gt 1 ] ; then
            echo ""
            printGreen "There are many SDK!!!"
            PS3='Please select your right SDK path : '
            options=($SDK_PATH_ROOT "Quit")
            select opt in "${options[@]}"
            do
                case $opt in
                    "Quit")
                        printRed "Your selecttion is [Quit]!!!"
                        printRed "Stop TZ App build!!!"
                        exit
                        ;;
                    *) SDK_PATH_ROOT="${opt}"
                    ;;
                esac

                if [ "${SDK_PATH_ROOT}" == "" ]; then
                    printRed "Your selection is error!!!"
                    printRed "Please select again !!!"
                else
                    break
                fi
            done
        fi

        export SDK_PATH_ROOT
    fi
fi

printRed "    SDK PATH : $SDK_PATH_ROOT"
echo ""

export TBASE_SEC_OPTION="tw"
export COMP_PATH_Make=.

cd $(dirname $(readlink -f $0))
source ${SDK_PATH_ROOT}/setup.sh

if [ "${DEBUG}" == "true" ]; then
    export MODE=Debug
else
    export MODE=Release
fi

if [ -d ${COMP_PATH_ROOT}/${COMP_PATH_TlSdk} ]; then
    export TLSDK_DIR_SRC=${COMP_PATH_ROOT}/${COMP_PATH_TlSdk}
    make -f ../src/hdcp2_pre.mk
else
    export TLSDK_DIR_SRC=${COMP_PATH_TlSdk}
    make -f ../src/hdcp2.mk
fi
