#! /bin/bash

function macros_cut_in(){
    input_file=$1
    content=""

    marco_list=(\
        "LOGIC_PROVIDER_${LOGIC_PROVIDER_NAME}")

    place_holder="====MACROS_PLACE_HOLDER===="

    for var in "${marco_list[@]}"
    do
      content+="'${var}'\n"
    done

    sed -i -e "s|${place_holder}|${content}|g" ${input_file}
}

function libs_cut_in(){
    input_file=$1
    content=""

    file_list=(\
    "File(env.SubstRealPath('\${SOFTSIM_ROOT}/lib/libsoftsim-logic.a'))",
    "File(env.SubstRealPath('\${SOFTSIM_ROOT}/lib/crypto_core.a'))")

    place_holder="====LIBS_PLACE_HOLDER===="

    for var in "${file_list[@]}"
    do
      content+="${var}\n"
    done

    sed -i -e "s|${place_holder}|${content}|g" ${input_file}
}

function includes_cut_in(){
    prefix=$1
    input_file=$2
    local_path=$3
    content=""

    echo "++++++++++++++local_path: ${local_path} +++++++++++++++"

    if [ -z ${local_path} ] ; then
    file_list=(\
       "core/securemsm/trustzone/qsapps/softsim/src" \
       "core/securemsm/trustzone/qsapps/softsim/src/x509" \
       "core/securemsm/trustzone/qsapps/softsim/inc/" \
       "core/securemsm/trustzone/qsapps/softsim/inc/softsim-logic" \
       "core/securemsm/trustzone/qsapps/softsim/inc/crypto_core" \
       "core/securemsm/trustzone/qsapps/softsim/inc/qsee")
    else
    file_list=(\
       "${local_path}/softsim/src" \
       "${local_path}/softsim/src/x509" \
       "${local_path}/softsim/inc/" \
       "${local_path}/softsim/inc/softsim-logic" \
       "${local_path}/softsim/inc/crypto_core" \
       "${local_path}/softsim/inc/qsee")
    fi

    place_holder="====INCLUDES_PLACE_HOLDER===="

    for var in "${file_list[@]}"
    do
      content+="\'${prefix}/${var}\',\n"
    done

    sed -i -e "s|${place_holder}|${content}|g" ${input_file}
}

function sources_cut_in(){
    prefix=$1
    input_file=$2
    output_file=$3
    content=""

    print_red_msg "\n====output_file: ${output_file}====\n" 

    file_list=(\
        'target/qsee/app_entry.c'\
        'tl_process_cmd.c' \
        'tl_softsim_logic.c' \
        'tl_softsim_logic_op.c' \
        'tl_fs.c'\
        'tl_certificate.c'\
        'tl_aes.c'\
        'tl_aes_crypto.c'\
        'tl_rsa_crypto.c'\
        'tl_usim_op.c'\
        'tl_utils.c'\
        'tl_json.c'\
        'tl_heap.c'\
        'tl_log.c'\
        'tl_inter_app_msg.c'\
        'softsim_main.c'\
        'x509/asn1.c'\
        'x509/asn1rsa.c' \
        'x509/x509v3.c' \
        'json/cJSON.c' \
        'target/qsee/target.c')


    place_holder="====SOURCES_PLACE_HOLDER===="

    for var in "${file_list[@]}"
    do
      content+=\'${prefix}/"${var}\',\n"
    done

    sed -e "s|${place_holder}|${content}|g" ${input_file} > ${output_file}
}

## prefix input_file output_file
#sources_cut_in "#../../securemsm/trustzone/qsapps/softsim/src" "proj/sconscript"  "proj/sconscript_new"
#includes_cut_in "\${INC_ROOT}" "proj/sconscript_new"
#libs_cut_in "proj/sconscript_new"

export -f sources_cut_in
export -f includes_cut_in 
export -f libs_cut_in 
export -f macros_cut_in 
