#!/bin/bash

# NDK path
export NDK_PATH=../../TZSDK/ndk/android-ndk-r13
export NDK_BUILD=$NDK_PATH/ndk-build

# Out file path
export SPLIT_BIN_DIR=bin/splited
export P4_BIN_DIR=bin

# clean binaries
rm -rf $SPLIT_BIN_DIR
rm -rf $P4_BIN_DIR
rm -rf $P4_BIN_DIR/lib

# make Ouput path
mkdir -p $SPLIT_BIN_DIR
mkdir -p $P4_BIN_DIR
mkdir -p $P4_BIN_DIR/lib

# TZ provider is Mobicore
if [ ${TZ_PROVIDER} == "MOBICORE" ]; then
   export MOBICORE_SDK_ROOT=../../TZSDK/android-security-exynos
if [ ${SUB_CHIPSET} == "exynos8890_tbase311" ]; then
   export MOBICORE_SDK_PATH=$MOBICORE_SDK_ROOT/tbase/exynos8890
else
   export MOBICORE_SDK_PATH=$MOBICORE_SDK_ROOT/tbase/$SUB_CHIPSET
fi
   # TBASE_SEC_OPTION : tw(=SUWON_TW), sged(=SUWON_GED), ged(=DSR_GED)
   export TBASE_SEC_OPTION=tw
   # BUILD_OPTION for previous chipset : SUWON_TW, SUWON_GED
   export BUILD_OPTION=SUWON_TW
fi
    
# TZ provider is QSEEcom
if [ ${TZ_PROVIDER} == "QSEE" ]; then
    export NHLOS_PATH=$1
    export LOCAL_BUILD_ID=$2

    export QSEE_ROOT_PATH=../../TZSDK/android-security-snapdragon/${NHLOS_PATH}/trustzone_images
    export QSEE_BUILD_DIR=$QSEE_ROOT_PATH/build/ms
    if [ ${SUB_CHIPSET} == "SDM845" ]; then
        export LLVM_VERSION=3.9.6
        export SSROOT=/opt
        export LLVMROOT=$SSROOT/toolchains/Qualcomm/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

        export QSEE_QSAPPS_DIR=$QSEE_ROOT_PATH/ssg/securemsm/trustzone/qsapps
    elif [ ${SUB_CHIPSET} == "SDM710" ]; then
        export SSROOT=/opt
        export LLVM_VERSION=4.0.3
        export LLVMROOT=$SSROOT/toolchains/Qualcomm/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
        export LLVMLIBPROP=$LLVMROOT/lib/clang/$LLVM_VERSION/lib/linux-propri_rt

        export QSEE_QSAPPS_DIR=$QSEE_ROOT_PATH/ssg/securemsm/trustzone/qsapps
    elif [ ${SUB_CHIPSET} == "SM8250" ] || [ ${SUB_CHIPSET} == "SM8150" ] || [ ${SUB_CHIPSET} == "SM6150" ] || [ ${SUB_CHIPSET} == "SM7150" ]; then
        export LLVM_VERSION=4.0.11
        export SSROOT=/opt
        export LLVMROOT=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION
        export LLVMBIN=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION/bin
        export LLVMLIBPROP=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION/lib/clang/$LLVM_VERSION/lib/linux-propri_rt
        export MUSL32PATH=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION/armv7-none-eabi/libc
        export LLVM32INC=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION/armv7-none-eabi/libc/include
        export LLVMINC=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION/aarch64-none-elf/libc/include
        export LLVMLIB=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION/lib/clang/$LLVM_VERSION/lib/linux
        export LLVMCLANG=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION/lib/clang/$LLVM_VERSION
        export MUSLPATH=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION/aarch64-none-elf/libc
        export LLVMTOOLPATH=$SSROOT/toolchains/Qualcomm/llvm/$LLVM_VERSION/tools/bin

        export QSEE_QSAPPS_DIR=$QSEE_ROOT_PATH/ssg/securemsm/trustzone/qsapps
    else
        export QSEE_QSAPPS_DIR=$QSEE_ROOT_PATH/core/securemsm/trustzone/qsapps
    fi
fi

# TZ provider is Blowfish
if [ ${TZ_PROVIDER} == "BLOWFISH" ]; then
    if [ ${TG_SDK_VER} == "V4.0" ]; then
        echo "Teegris SDK is Version 4.0 !!"
        export BLOWFISH_BASE=../../TZSDK/teegris_sdk.4.1.0/
        export TOOLCHAIN_PREFIX=${BLOWFISH_BASE}/toolchains/arm-secureos-gnueabi-gcc_6_3-linux-x86/bin/arm-secureos-gnueabi-
    elif [ ${TG_SDK_VER} == "V3.0" ]; then
        echo "Teegris SDK is Version 3.0 !!"
        export BLOWFISH_BASE=../../TZSDK/teegris_sdk/
        export TOOLCHAIN_PREFIX=${BLOWFISH_BASE}/toolchains/arm-secureos-gnueabi-gcc_6_3-linux-x86/bin/arm-secureos-gnueabi-
    elif [ ${TG_SDK_VER} == "V2.0" ]; then
        echo "Teegris SDK is Version 2.0 !!"
        export BLOWFISH_BASE=../../TZSDK/blowfish-sdk-2.0/bf_sdk/
        export TOOLCHAIN_PREFIX=${BLOWFISH_BASE}/toolchains/arm-secureos-gnueabi-5.2-linux_x86/bin/arm-secureos-gnueabi-
    fi
fi
