[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/tools/genTargetFile/genTargetFile.py b/mcu/tools/genTargetFile/genTargetFile.py
new file mode 100644
index 0000000..9513aa1
--- /dev/null
+++ b/mcu/tools/genTargetFile/genTargetFile.py
@@ -0,0 +1,123 @@
+#!/usr/bin/python

+

+import sys

+import json

+import os

+import shutil

+import glob

+import re

+from collections import OrderedDict

+

+def check_file_exist (file):

+    if not os.path.exists(file):

+        printstr = "Error: " + file + " does not exist, please check!\n"

+        print(printstr)

+        exit (1)

+

+debug        = sys.argv[1] # True/False

+project      = sys.argv[2] # project name

+flavor       = sys.argv[3] # flavor name

+dsp_project  = sys.argv[4] # dsp project name

+dsp_flavor   = sys.argv[5] # dsp flavor name

+modis_uesim  = sys.argv[6] # check modis or uesim

+inputTarget    = sys.argv[7] # currect Target Name

+outputTarget   = sys.argv[8] # output Target Name

+chk_append_opt = sys.argv[9].split(',') # special option

+targetName     = os.path.basename(inputTarget)

+

+

+input_json = "tools/genTargetFile/all_dep.json"

+build_fdr  = "build/" + project + "/" + flavor

+if modis_uesim == 'target':

+    outputFdr  = build_fdr + "/bin/json"

+else:

+    outputFdr = build_fdr + "/" + modis_uesim + "/_BUILD_XGEN/bin/json"

+

+encode_enable = True

+if sys.version_info[0] >= 3:

+  encode_enable = False

+

+if debug:

+    print ("\n**********************************************************")

+    print("Project Name  = %s" % project)

+    print("Flavor Name   = %s" % flavor)

+    print("DSP Project Name  = %s" % dsp_project)

+    print("DSP Flavor Name   = %s" % dsp_flavor)

+    print("Input Target  = %s" % inputTarget)

+    print("Output Target = %s" % outputTarget)

+    print("Target NAme   = %s" % targetName)

+    print ("")

+

+input_target_jason = "tools/genTargetFile/json/" + targetName + ".json"

+TargetFileList   = []

+PrerequisiteList = []

+

+if targetName != "genJson.det":

+    check_file_exist(input_target_jason)

+    str = outputTarget + ': ' + input_target_jason

+    TargetFileList = [str]

+    PrerequisiteList = [input_target_jason]

+if debug:

+    InputFileList  = [input_target_jason]

+    OutputFileList = []

+with open(input_target_jason , 'r') as reader:

+    JsonData = json.loads(reader.read(), object_pairs_hook=OrderedDict)

+

+    for option in chk_append_opt:

+        for Script_List in JsonData[option]:

+            if Script_List != "NONE":

+                check_file_exist(Script_List)

+                str = outputTarget + ': ' + Script_List

+                TargetFileList.append(str)

+                PrerequisiteList.append(Script_List)

+            JsonInputList = JsonData[option][Script_List]['InputFile']['common']

+            if modis_uesim == 'target':

+                JsonInputList += JsonData[option][Script_List]['InputFile']['target']

+            else:

+                JsonInputList += JsonData[option][Script_List]['InputFile']['modis_uesim']

+            for File_List in JsonInputList:

+                File_List = File_List.replace('$proj',project).replace('$flavor',flavor).replace('$dsp_proj',dsp_project).replace('$dsp_flavor',dsp_flavor).replace('$modis_uesim',modis_uesim)

+                Glob_File_List = glob.glob(File_List)

+                if Glob_File_List:

+                    for file in Glob_File_List:

+                        FinalInput = file

+                        str = outputTarget + ': ' + FinalInput

+                        TargetFileList.append(str)

+                        PrerequisiteList.append(FinalInput)

+                        if debug:

+                            InputFileList.append(FinalInput)

+                else:

+                    check_file_exist(File_List)

+

+            if debug:

+                if modis_uesim == 'target':

+                    JsonOutputList = JsonData[option][Script_List]['OutputFile']['target']

+                else:

+                    JsonOutputList = JsonData[option][Script_List]['OutputFile']['modis_uesim']

+                for File_List in JsonOutputList:

+                    File_List = File_List.replace('$proj',project).replace('$flavor',flavor).replace('$dsp_proj',dsp_project).replace('$dsp_flavor',dsp_flavor).replace('$modis_uesim',modis_uesim)

+                    for file in glob.glob(File_List):

+                        FinalOutput = file

+                        OutputFileList.append(FinalOutput)

+

+with open(outputTarget , 'a+') as writer:

+    writer.write('\n')

+    for item in TargetFileList:

+        if debug:

+            print(item)

+        writer.write(item + '\n')

+    writer.write('\n')

+    for item in PrerequisiteList:

+        if debug:

+            print(item)

+        writer.write(item + ':\n')

+

+if debug:

+    print("\nInputFile:")

+    for item in InputFileList:

+        print(item)

+

+    print("\nOutputFile:")

+    for item in OutputFileList:

+        print(item)

+    print ("**********************************************************\n")

diff --git a/mcu/tools/genTargetFile/json/OscarSST_errcode.det.json b/mcu/tools/genTargetFile/json/OscarSST_errcode.det.json
new file mode 100755
index 0000000..aed604f
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/OscarSST_errcode.det.json
@@ -0,0 +1,15 @@
+{
+    "common": {
+        "MoDIS_VC9/CrashHandlerlib/OscarSST_get_errlist.pl": {
+            "InputFile": {
+                "common": ["MoDIS_VC9/oscar/include/osc_errcode.h"],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [],
+                "modis_uesim": ["build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/OscarSST/OscarSST_errcode.h"]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/asngen.det.json b/mcu/tools/genTargetFile/json/asngen.det.json
new file mode 100755
index 0000000..175257c
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/asngen.det.json
@@ -0,0 +1,92 @@
+{
+    "common": {
+        "protocol/tools/mcdparser.pl": {
+            "InputFile": {
+                "common": [
+                    "protocol/tools/mcd.ini",
+                    "protocol/layer4/l4/csm/ss/asn1/asn1_src/*",
+                    "protocol/interface/mcd/include/mcd_l3.h.template",
+                    "protocol/as_utility/mcd/include/mcd_msr.h.template",
+                    "protocol/as_utility/mcd/src/mcd_table.c.template",
+                    "protocol/interface/asn/*.asn",
+                    "protocol/tools/Ini.pm",
+                    "protocol/interface/asn/cc-ss/cc/mcd_cc_peer.asn",
+                    "protocol/interface/asn/sms/mcd_sms_gen_peer.asn",
+                    "protocol/interface/asn/mm/common/mcd_mm_common_gen.asn",
+                    "protocol/interface/asn/mm/cmm/mcd_mm_cs_peer.asn",
+                    "protocol/interface/asn/cc-ss/ss/mcd_ciss_peer.asn",
+                    "protocol/interface/asn/mm/pmm/mcd_mm_ps_peer.asn",
+                    "protocol/interface/asn/sm/mcd_sm_gen_peer.asn",
+                    "protocol/interface/asn/sndcp/mcd_snd_peer.asn",
+                    "protocol/interface/asn/llc/mcd_llc_peer.asn",
+                    "protocol/interface/asn/emm/mcd_emm_gen_peer.asn",
+                    "protocol/interface/asn/esm/mcd_esm_gen_peer.asn",
+                    "protocol/interface/asn/vgmm/mcd_vgmm_gen_peer.asn",
+                    "protocol/interface/asn/vgsm/mcd_vgsm_gen_peer.asn"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/modem/mcd/mcd_cc_peer.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_ciss_peer.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_emm_gen_peer.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_esm_gen_peer.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_llc_peer_struct.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_mm_cs_peer_struct.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_mm_ps_peer_struct.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_msr.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_sm_gen_peer.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_sms_gen_peer.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_snd_peer.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_table.c",
+                    "build/$proj/$flavor/modem/mcd/mcd_vgmm_gen_peer.h",
+                    "build/$proj/$flavor/modem/mcd/mcd_vgsm_gen_peer.h",
+                    "build/$proj/$flavor/modem/scsi/csi_asn.h",
+                    "build/$proj/$flavor/modem/scsi/csi_asn_decode.c",
+                    "build/$proj/$flavor/modem/scsi/csi_asn_encode.c",
+                    "build/$proj/$flavor/modem/scsi/csi_gsm_asn.h",
+                    "build/$proj/$flavor/modem/scsi/csi_lte_asn.h",
+                    "build/$proj/$flavor/modem/scsi/csi_umts_asn.h",
+                    "build/$proj/$flavor/modem/scsi/preprocessed_csi.asn",
+                    "build/$proj/$flavor/modem/scsi/preprocessed_scsi.asn",
+                    "build/$proj/$flavor/modem/scsi/scsi_asn.h",
+                    "build/$proj/$flavor/rel/BASIC/mcd/mcd_l3_inc_gprs_struct.h",
+                    "build/$proj/$flavor/rel/BASIC/mcd/mcd_l3_inc_struct.h",
+                    "build/$proj/$flavor/rel/L4/mcd/mcd_l3.h",
+                    "build/$proj/$flavor/rel/L4/mcd/mcd_mm_common_gen_struct.h"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_cc_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_ciss_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_emm_gen_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_esm_gen_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_llc_peer_struct.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_mm_cs_peer_struct.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_mm_ps_peer_struct.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_msr.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_sm_gen_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_sms_gen_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_snd_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_table.c",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_vgmm_gen_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_vgsm_gen_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/scsi/csi_asn.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/scsi/csi_asn_decode.c",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/scsi/csi_asn_encode.c",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/scsi/csi_gsm_asn.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/scsi/csi_lte_asn.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/scsi/csi_umts_asn.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/scsi/preprocessed_csi.asn",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/scsi/preprocessed_scsi.asn",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/scsi/scsi_asn.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/BASIC/mcd/mcd_l3_inc_gprs_struct.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/BASIC/mcd/mcd_l3_inc_struct.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/L4/mcd/mcd_l3.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/L4/mcd/mcd_mm_common_gen_struct.h"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/asngen_l4.det.json b/mcu/tools/genTargetFile/json/asngen_l4.det.json
new file mode 100755
index 0000000..42751fe
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/asngen_l4.det.json
@@ -0,0 +1,52 @@
+{
+    "common": {
+        "protocol/tools/pre_mcdparser.pl": {
+            "InputFile": {
+                "common": [
+                    "protocol/interface/asn/l4/mcd_l4_common.asn",
+                    "protocol/tools/mcdparser.pl",
+                    "protocol/tools/mcd_l4.ini",
+                    "protocol/interface/mcd/include/mcd_l4.h.template",
+                    "protocol/interface/mcd/src/mcd_table_l4.c.template",
+                    "protocol/interface/asn/l4/*",
+                    "protocol/tools/Ini.pm",
+                    "protocol/interface/asn/cc-ss/cc/mcd_cc_peer.asn",
+                    "protocol/interface/asn/sms/mcd_sms_gen_peer.asn",
+                    "protocol/interface/asn/mm/common/mcd_mm_common_gen.asn",
+                    "protocol/interface/asn/mm/cmm/mcd_mm_cs_peer.asn",
+                    "protocol/interface/asn/cc-ss/ss/mcd_ciss_peer.asn",
+                    "protocol/interface/asn/mm/pmm/mcd_mm_ps_peer.asn",
+                    "protocol/interface/asn/sm/mcd_sm_gen_peer.asn",
+                    "protocol/interface/asn/sndcp/mcd_snd_peer.asn",
+                    "protocol/interface/asn/llc/mcd_llc_peer.asn",
+                    "protocol/interface/asn/emm/mcd_emm_gen_peer.asn",
+                    "protocol/interface/asn/esm/mcd_esm_gen_peer.asn",
+                    "protocol/interface/asn/vgmm/mcd_vgmm_gen_peer.asn",
+                    "protocol/interface/asn/vgsm/mcd_vgsm_gen_peer.asn"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/modem/mcd/mcd_uem_peer.h",
+                    "build/$proj/$flavor/modem/mcd/gen_mcd_l4_common.asn",
+                    "build/$proj/$flavor/rel/BASIC/mcd/mcd_ps2sat_peer.h",
+                    "build/$proj/$flavor/rel/L4/mcd/mcd_l4.h",
+                    "build/$proj/$flavor/rel/L4/mcd/mcd_ss_parameters.h",
+                    "build/$proj/$flavor/rel/L4/mcd/mcd_ss_tcapmessages.h",
+                    "build/$proj/$flavor/rel/L4/mcd/mcd_table_l4.c"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_uem_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/gen_mcd_l4_common.asn",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/BASIC/mcd/mcd_ps2sat_peer.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/L4/mcd/mcd_l4.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/L4/mcd/mcd_ss_parameters.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/L4/mcd/mcd_ss_tcapmessages.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/L4/mcd/mcd_table_l4.c"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/caband_gen.det.json b/mcu/tools/genTargetFile/json/caband_gen.det.json
new file mode 100755
index 0000000..7d6c251
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/caband_gen.det.json
@@ -0,0 +1,25 @@
+{
+    "common": {
+        "tools/gen_ca_band_tbl.pl": {
+            "InputFile": {
+                "common": [
+                    "custom/protocol/common/ps/custom_lte_ca.xls"
+                ],
+                "target": [
+                    "build/$proj/$flavor/bin/~$proj($flavor).mak"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/~$proj($flavor).mak"
+                ]
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/custom/modem/eas_caband_tbl/eas_caband_tbl_v2.c"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/custom/modem/eas_caband_tbl/eas_caband_tbl_v2.c"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/copro_info_gen.det.json b/mcu/tools/genTargetFile/json/copro_info_gen.det.json
new file mode 100755
index 0000000..7c541b3
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/copro_info_gen.det.json
@@ -0,0 +1,25 @@
+{
+    "common": {
+        "NONE": {
+            "InputFile": {
+                "common": [],
+                "target": [
+                    "build/$proj/$flavor/bin/~$proj($flavor).mak",
+                    "build/$proj/$flavor/bin/log/infomake.log"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/~$proj($flavor).mak",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_LOG/infomake_modis.log"
+                ]
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/tmp/~copro_info.tmp"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/tmp/~copro_info.tmp"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/cp_dsp_files.det.json b/mcu/tools/genTargetFile/json/cp_dsp_files.det.json
new file mode 100755
index 0000000..9b3b074
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/cp_dsp_files.det.json
@@ -0,0 +1,37 @@
+{
+    "common": {
+        "tools/cp_dsp_files.pl": {
+            "InputFile": {
+                "common": [
+                    "mtk_rel/$proj/$flavor/dsp_rel/$dsp_proj/$dsp_flavor/final_bin/dsp.bin"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [],
+                "modis_uesim": []
+            }
+        }
+    },
+    "internal": {
+        "NONE": {
+            "InputFile": {
+                "common": [
+                    "mtk_rel/$proj/$flavor/label.ini.DSP",
+                    "mtk_rel/$proj/$flavor/dsp_rel/$dsp_proj/$dsp_flavor/final_bin/xml/filterXML"
+                ],
+                "target": [
+                    "build/$proj/$flavor/bin/~$proj($flavor).mak"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/~$proj($flavor).mak"
+                ]
+            },
+            "OutputFile": {
+                "target": [],
+                "modis_uesim": []
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/drv_feature_check.det.json b/mcu/tools/genTargetFile/json/drv_feature_check.det.json
new file mode 100755
index 0000000..f1edd37
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/drv_feature_check.det.json
@@ -0,0 +1,21 @@
+{
+    "common": {
+        "tools/drv_feature_check.pl": {
+            "InputFile": {
+                "common": [
+                    "interface/driver/drv_def/drv_features.h"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/bin/drv_features_option.h"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/drv_features_option.h"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/eas_gen.det.json b/mcu/tools/genTargetFile/json/eas_gen.det.json
new file mode 100755
index 0000000..11cd1c3
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/eas_gen.det.json
@@ -0,0 +1,33 @@
+{
+    "common": {
+        "protocol/eas/eas_generate.pl": {
+            "InputFile": {
+                "common": [
+                    "protocol/eas/tools/asn1_rrc_eas.pl",
+                    "protocol/eas/asn1/asn1_src/*",
+                    "protocol/eas/tools/eas_gen_uniontag.pl",
+                    "protocol/eas/tools/eas_uper_asn_postprocess_asn_print.pl",
+                    "interface/service/asn1_common/mtkasn_uper"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/modem/eas_asn/TS36331_ASN1_uniontag.txt",
+                    "build/$proj/$flavor/modem/eas_asn/mtk_uper_asn.h",
+                    "build/$proj/$flavor/modem/eas_asn/mtk_uper_asn_decode.c",
+                    "build/$proj/$flavor/modem/eas_asn/mtk_uper_asn_encode.c",
+                    "build/$proj/$flavor/modem/eas_asn/mtk_uper_asn_print.c"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/eas_asn/TS36331_ASN1_uniontag.txt",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/eas_asn/mtk_uper_asn.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/eas_asn/mtk_uper_asn_decode.c",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/eas_asn/mtk_uper_asn_encode.c",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/eas_asn/mtk_uper_asn_print.c"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/emigen.det.json b/mcu/tools/genTargetFile/json/emigen.det.json
new file mode 100755
index 0000000..a11dc3c
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/emigen.det.json
@@ -0,0 +1,41 @@
+{
+    "common": {
+        "tools/emigenMD.pl": {
+            "InputFile": {
+                "common": [
+                    "tools/MemoryDeviceList/MemoryDeviceList_NONE_SinceW1506.xls",
+                    "tools/emigenemi.pl",
+                    "tools/emigenSF.pl",
+                    "tools/emigenflash.pl",
+                    "tools/emiGenSP.pl"
+                ],
+                "target": [
+                    "build/$proj/$flavor/bin/~$proj($flavor).mak",
+                    "build/$proj/$flavor/custom/system/custom_MemoryDevice.h"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/~$proj($flavor).mak",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/custom/system/custom_MemoryDevice.h"
+                ]
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/tmp/MemoryDeviceList_NONE_SinceW1506_RAM*",
+                    "build/$proj/$flavor/custom/system/custom_EMI_release.h",
+                    "build/$proj/$flavor/custom/system/flash_opt_gen.h",
+                    "build/$proj/$flavor/custom/system/custom_flash.h",
+                    "build/$proj/$flavor/custom/system/combo_flash_config.h",
+                    "build/$proj/$flavor/custom/system/combo_flash_id.h"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/tmp/MemoryDeviceList_NONE_SinceW1506_RAM*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/custom/system/custom_EMI_release.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/custom/system/flash_opt_gen.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/custom/system/custom_flash.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/custom/system/combo_flash_config.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/custom/system/combo_flash_id.h"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/errc_gen.det.json b/mcu/tools/genTargetFile/json/errc_gen.det.json
new file mode 100755
index 0000000..08b4c45
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/errc_gen.det.json
@@ -0,0 +1,26 @@
+{
+    "common": {
+        "protocol/lte_sec/errc/gen_evt_tbl/gen_evt_tbl.pl": {
+            "InputFile": {
+                "common": [
+                    "interface/sap/md/errc_msgid.h",
+                    "protocol/lte_sec/errc/gen_evt_tbl/evth_tbl.csv"
+                ],
+                "target": [
+                    "build/$proj/$flavor/bin/~$proj($flavor).mak"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/~$proj($flavor).mak"
+                ]
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/internal/errc_evt_tbl/errc_evth_tbl.c"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/internal/errc_evt_tbl/errc_evth_tbl.c"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/genJson.det.json b/mcu/tools/genTargetFile/json/genJson.det.json
new file mode 100755
index 0000000..906fdd2
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/genJson.det.json
@@ -0,0 +1,22 @@
+{
+    "common": {
+        "tools/genTargetFile/genTargetFile.py": {
+            "InputFile": {
+                "common": [
+                    "tools/genTargetFile/all_dep.json",
+                    "make/common/build.mak"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/bin/json/*"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/json/*"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/gen_gfh_cfg.det.json b/mcu/tools/genTargetFile/json/gen_gfh_cfg.det.json
new file mode 100755
index 0000000..011b148
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/gen_gfh_cfg.det.json
@@ -0,0 +1,21 @@
+{
+    "common": {
+        "NONE": {
+            "InputFile": {
+                "common": [
+                    "make/common/Verno.bld"
+                ], 
+                "target": [
+                    "build/$proj/$flavor/bin/~$proj($flavor).mak"
+                ], 
+                "modis_uesim": []
+            }, 
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/tmp/~gfh_cfg.tmp"
+                ], 
+                "modis_uesim": []
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/gen_infolog.det.json b/mcu/tools/genTargetFile/json/gen_infolog.det.json
new file mode 100755
index 0000000..ad36b82
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/gen_infolog.det.json
@@ -0,0 +1,28 @@
+{
+    "common": {
+        "NONE": {
+            "InputFile": {
+                "common": [
+                    "make/common/build.mak",
+                    "make/common/buildconfig.mak",
+                    "make/common/option.mak",
+                    "make/common/rule_def/*"
+                ],
+                "target": [
+                    "build/$proj/$flavor/bin/~$proj($flavor).mak"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/~$proj($flavor).mak"
+                ]
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/bin/log/info.log"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_LOG/info_modis.log"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/gen_infomakelog.det.json b/mcu/tools/genTargetFile/json/gen_infomakelog.det.json
new file mode 100755
index 0000000..a3561a5
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/gen_infomakelog.det.json
@@ -0,0 +1,28 @@
+{
+    "common": {
+        "NONE": {
+            "InputFile": {
+                "common": [
+                    "make/common/build.mak",
+                    "make/common/buildconfig.mak",
+                    "make/common/option.mak",
+                    "make/common/rule_def/*"
+                ],
+                "target": [
+                    "build/$proj/$flavor/bin/~$proj($flavor).mak"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/~$proj($flavor).mak"
+                ]
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/bin/log/infomake.log"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_LOG/infomake_modis.log"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/icd_ac_gen.det.json b/mcu/tools/genTargetFile/json/icd_ac_gen.det.json
new file mode 100644
index 0000000..e5bbd00
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/icd_ac_gen.det.json
@@ -0,0 +1,23 @@
+{
+    "common": {
+        "tools/icd_ac_gen/icd_ac_gen.py": {
+            "InputFile": {
+                "common": [
+                    "interface/service/icd/*",
+                    "interface/service/icd/**/*",
+                    "interface/service/icd/**/**/*"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/modem/icd_ac_gen/*"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/icd_ac_gen/*"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/mcddll_update.det.json b/mcu/tools/genTargetFile/json/mcddll_update.det.json
new file mode 100755
index 0000000..8bb5c80
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/mcddll_update.det.json
@@ -0,0 +1,67 @@
+{
+    "common": {
+        "protocol/as_utility/mcddll/updatemcddll_mingw.pl": {
+            "InputFile": {
+                "common": [
+                    "protocol/interface/asn/rr/src/*",
+                    "protocol/as_utility/mcd/src/*.c",
+                    "protocol/as_utility/mcd/src/op/*",
+                    "protocol/as_utility/mcd/src/pack/*",
+                    "protocol/as_utility/mcd/src/unpack/*",
+                    "protocol/as_utility/mcddll/src/*",
+                    "interface/service/asn1_common/asn_uper_common.c",
+                    "interface/service/asn1_common/asn_aper_common.c",
+                    "interface/service/asn1_common/asn_memory.c",
+                    "interface/service/asn1_common/asn_common.c",
+                    "protocol/layer4/l4/smsal/src/smsal_modi_peer_rest.c",
+                    "protocol/layer4/l4/smsal/src/smsal_utils.c",
+                    "service/kal/common/src/pack_unpack_dll_api.c",
+                    "service/kal/lib/stacklib/src/bitop_funcs.c",
+                    "service/kal/lib/stacklib/src/bitstream.c",
+                    "protocol/interface/asn/asn1lib/src/asn1lib.c",
+                    "protocol/agps/lpp/src/lpp_*.c",
+                    "protocol/agps/lppe/src/lpp_*.c"
+                ],
+                "target": [
+                    "build/$proj/$flavor/modem/mcddll/fdd/*",
+                    "build/$proj/$flavor/modem/mcddll/mcd_*.c",
+                    "build/$proj/$flavor/modem/eas_asn/*"
+                ],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/modem/mcddll/mcddll*",
+                    "build/$proj/$flavor/modem/mcddll/libmcddll.a",
+                    "build/$proj/$flavor/modem/mcddll/Release/*.o",
+                    "build/$proj/$flavor/modem/nras_asn/*",
+                    "build/$proj/$flavor/modem/mcd/mcd_table.c",
+                    "build/$proj/$flavor/rel/L4/mcd/mcd_table_l4.c"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcddll/mcddll*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcddll/libmcddll.a",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcddll/Release/*.o",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/nras_asn/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcd/mcd_table.c",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/L4/mcd/mcd_table_l4.c"
+                ]
+            }
+        }
+    },
+    "tdd": {
+        "NONE": {
+            "InputFile": {
+                "common": [],
+                "target": [
+                    "build/$proj/$flavor/modem/mcddll/tdd/*"
+                ],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [],
+                "modis_uesim": []
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/mcf_gen.det.json b/mcu/tools/genTargetFile/json/mcf_gen.det.json
new file mode 100755
index 0000000..357aa3d
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/mcf_gen.det.json
@@ -0,0 +1,28 @@
+{
+    "common": {
+        "tools/MCF/mcf_parser_gen": {
+            "InputFile": {
+                "common": [
+                    "custom/service/mcf/system_files/mcf_system.csv",
+                    "custom/service/mcf/system_files/branch.txt"
+                ],
+                "target": [
+                    "build/$proj/$flavor/dhl/database/*.XML",
+                    "build/$proj/$flavor/nvram_auto_gen/custom_nvram_lid_cat.xml"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/dhl/database_modis/*.XML",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/nvram_auto_gen/custom_nvram_lid_cat.xml"
+                ]
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/modem/mcf/*"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcf/*"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/mertos_codegen.det.json b/mcu/tools/genTargetFile/json/mertos_codegen.det.json
new file mode 100755
index 0000000..850d8ca
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/mertos_codegen.det.json
@@ -0,0 +1,25 @@
+{
+    "common": {
+        "tools/mertos/mer_codegen.py": {
+            "InputFile": {
+                "common": [],
+                "target": [
+                    "build/$proj/$flavor/tmp/~syscomp_config.o"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/tmp/~syscomp_config.o"
+                ]
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/custom/system/kal_mertos_config_dpc.inc",
+                    "build/$proj/$flavor/custom/system/kal_mertos_config_dpc_index_mapping.inc",
+                    "build/$proj/$flavor/custom/system/kal_mertos_config_fixmem.inc",
+                    "build/$proj/$flavor/custom/system/kal_mertos_config_task.inc",
+                    "build/$proj/$flavor/custom/system/kal_mertos_config_task_priority_mapping.inc"
+                ],
+                "modis_uesim": []
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/mipc_gen.det.json b/mcu/tools/genTargetFile/json/mipc_gen.det.json
new file mode 100644
index 0000000..dc857ad
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/mipc_gen.det.json
@@ -0,0 +1,34 @@
+{
+    "common": {
+        "mtk_tools/MIPC/host_release.pl": {
+            "InputFile": {
+                "common": [
+                    "mtk_tools/MIPC/host_release.pl",
+                    "mtk_tools/MIPC/make/Makefile.release",
+                    "mtk_tools/MIPC/code_gen/json/mipc_msg",
+                    "mtk_tools/MIPC/code_gen/copyright",
+                    "mtk_tools/MIPC/code_gen/python/*",
+                    "mtk_tools/MIPC/src/msg/*",
+                    "mtk_tools/MIPC/src/common/*",
+                    "interface/protocol/l5/mipc/msg/*",
+                    "interface/protocol/l5/mipc/common/*"
+                ],
+                "target": [
+                    "build/$proj/$flavor/bin/log/infomake.log"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_LOG/infomake_modis.log"
+                ]
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/bin/mipc.release.tar.gz",
+                    "build/$proj/$flavor/modem/mipc/*"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mipc/*"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/mspm_gen.det.json b/mcu/tools/genTargetFile/json/mspm_gen.det.json
new file mode 100755
index 0000000..a08348b
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/mspm_gen.det.json
@@ -0,0 +1,21 @@
+{
+    "common": {
+        "tools/mspm_gen_proc_tbl.pl": {
+            "InputFile": {
+                "common": [
+                    "protocol/as_multimode/asinterfaces/mspm_proc_gen_tbl/mspm_procedure_table.csv"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/modem/mspm/src/mspm_procedure_gen_table.c"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mspm/src/mspm_procedure_gen_table.c"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/nras_gen.det.json b/mcu/tools/genTargetFile/json/nras_gen.det.json
new file mode 100755
index 0000000..f3965bd
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/nras_gen.det.json
@@ -0,0 +1,33 @@
+{
+    "common": {
+        "protocol/nras/nrrc_asn1_generate.pl": {
+            "InputFile": {
+                "common": [
+                    "protocol/nras/tools/nrrc_asn_gen_asn1.pl",
+                    "protocol/nras/tools/nrrc_asn_gen_uniontag.pl",
+                    "protocol/nras/asn1_src/*",
+                    "protocol/nras/tools/nrrc_asn_postprocess_asn_print.pl",
+                    "interface/service/asn1_common/mtkasn_uper"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/modem/nras_asn/TS38331_ASN1_uniontag.txt",
+                    "build/$proj/$flavor/modem/nras_asn/nrrc_asn1.h",
+                    "build/$proj/$flavor/modem/nras_asn/nrrc_asn1_decode.c",
+                    "build/$proj/$flavor/modem/nras_asn/nrrc_asn1_encode.c",
+                    "build/$proj/$flavor/modem/nras_asn/nrrc_asn1_print.c"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/nras_asn/TS38331_ASN1_uniontag.txt",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/nras_asn/nrrc_asn1.h",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/nras_asn/nrrc_asn1_decode.c",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/nras_asn/nrrc_asn1_encode.c",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/nras_asn/nrrc_asn1_print.c"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/nvram_editor.det.json b/mcu/tools/genTargetFile/json/nvram_editor.det.json
new file mode 100755
index 0000000..27a2587
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/nvram_editor.det.json
@@ -0,0 +1,25 @@
+{
+    "common": {
+        "tools/NVRAMStatistic/nvram_edit_gen.mak": {
+            "InputFile": {
+                "common": [
+                    "custom/driver/common/*_nvram_def.h",
+                    "custom/middleware/common/*_nvram_def.h",
+                    "custom/driver/common/*_nvram_editor.h",
+                    "custom/middleware/common/*_nvram_editor.h",
+                    "custom/protocol/common/ps/*_nvram_editor.h"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/nvram_auto_gen/nvram_editor.h"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/bin/~$proj($flavor).mak"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/rcdb_gen.det.json b/mcu/tools/genTargetFile/json/rcdb_gen.det.json
new file mode 100755
index 0000000..858b7b3
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/rcdb_gen.det.json
@@ -0,0 +1,29 @@
+{
+    "common": {
+        "../common/tools/rcdb_gen/nr_fwk_rcdb_code_gen.pl": {
+            "InputFile": {
+                "common": [
+                    "../common/interface/modem/mt6297/CSIF/slm/nr/cmd/inc/*",
+                    "../common/interface/modem/mt6297/common/nr/external/nr_comm_struct.h",
+                    "../common/interface/modem/mt6297/common/nr/external/custom/nl1_comm_inter_core_public.h",
+                    "../common/interface/modem/mt6297/common/nr/external/5g/nrrc_nl1_struct.h",
+                    "../common/interface/modem/mt6297/common/nr/internal/nl1_comm_internal_inter_core_public.h",
+                    "../common/tools/rcdb_gen/dummy.h",
+                    "../common/tools/rcdb_gen/lib/Node.pm",
+                    "../common/tools/rcdb_gen/lib/MacroKey.pm",
+                    "../common/tools/rcdb_gen/lib/BasicDataType.pm"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build_internal/$proj/$flavor/modem/rcdb_gen/*"
+                ],
+                "modis_uesim": [
+                    "build_internal/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/rcdb_gen/*"
+                ]
+            }
+        }
+    }
+}
diff --git a/mcu/tools/genTargetFile/json/ss_lcs_gen.det.json b/mcu/tools/genTargetFile/json/ss_lcs_gen.det.json
new file mode 100755
index 0000000..240d658
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/ss_lcs_gen.det.json
@@ -0,0 +1,22 @@
+{
+    "common": {
+        "protocol/layer4/l4/csm/ss/tools/ss_lcs_generate.pl": {
+            "InputFile": {
+                "common": [
+                    "protocol/layer4/l4/csm/ss/tools/mtkasn",
+                    "protocol/layer4/l4/csm/ss/asn1/asn1_src/*"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/rel/L4/csm/ss/*"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/rel/L4/csm/ss/*"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/template.det.json b/mcu/tools/genTargetFile/json/template.det.json
new file mode 100755
index 0000000..224d68c
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/template.det.json
@@ -0,0 +1,15 @@
+{
+    "common_or_special_option": {
+        "NONEorScriptFile": {
+            "InputFile": {
+                "common": [],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [],
+                "modis_uesim": []
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/umts_gen.det.json b/mcu/tools/genTargetFile/json/umts_gen.det.json
new file mode 100755
index 0000000..30c7416
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/umts_gen.det.json
@@ -0,0 +1,74 @@
+{
+    "common": {
+        "protocol/3g/urr/urr_fdd/urr_generate.pl": {
+            "InputFile": {
+                "common": [
+                    "protocol/3g/urr/urr_fdd/common/asn1/src/*.asn",
+                    "service/dhl/database/uniontag_userdefined.txt",
+                    "protocol/3g/urr/urr_fdd/tools/asn1_rrc_uas.pl",
+                    "protocol/3g/urr/urr_fdd/tools/UECapabilityInformation_TDD128ext_IEs_asn_no_tag_h_postprocess.pl",
+                    "protocol/3g/urr/urr_fdd/tools/UECapabilityInformation_TDD128ext_IEs_asn_isValid_c_postprocess.pl",
+                    "protocol/3g/urr/urr_fdd/tools/UECapabilityInformation_TDD128ext_IEs_asn_encode_c_postprocess.pl",
+                    "protocol/3g/urr/urr_fdd/tools/UECapabilityInformation_TDD128ext_IEs_asn_decode_c_postprocess.pl",
+                    "protocol/3g/urr/urr_fdd/tools/UECapabilityInformation_TDD128ext_IEs_asn_h_postprocess.pl",
+                    "protocol/3g/urr/urr_fdd/tools/asn1_rrc_mcd.pl",
+                    "interface/service/asn1_common/mtkasn",
+                    "protocol/3g/urr/urr_fdd/tools/asn1_h245_mcd.pl",
+                    "tools/mtkasn_aper",
+                    "protocol/interface/asn/asn1/src/h245.asn",
+                    "protocol/3g/urr/urr_fdd/tools/post_db_access.pl",
+                    "protocol/3g/urr/urr_fdd/lurr_generate.pl",
+                    "protocol/3g/urr/urr_fdd/tools/ldbswitch.pl",
+                    "protocol/3g/urr/urr_fdd/tools/ldb_access.pl",
+                    "protocol/3g/urr/urr_fdd/tools/post_ldb_access.pl",
+                    "protocol/3g/urr/urr_tdd/urr_generate.pl",
+                    "protocol/3g/urr/urr_tdd/asn1/asn1_src/dbme_4j0.asn",
+                    "protocol/3g/urr/urr_tdd/asn1/asn1_src/mcd_dbme_4j0.asn",
+                    "protocol/3g/urr/urr_tdd/tools/asn1_rrc_uas.pl",
+                    "protocol/3g/urr/urr_tdd/asn1/asn1_src/pcch_7c0_ccsa.asn",
+                    "interface/service/asn1_common/mtkasn",
+                    "protocol/3g/urr/urr_tdd/tools/dbswitch.pl",
+                    "protocol/3g/urr/urr_tdd/tools/post_db_access.pl",
+                    "protocol/3g/urr/urr_tdd/lurr_generate.pl",
+                    "protocol/3g/urr/urr_tdd/tools/ldbswitch.pl",
+                    "protocol/3g/urr/urr_tdd/tools/ldb_access.pl",
+                    "protocol/3g/urr/urr_tdd/tools/post_ldb_access.pl"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/modem/dbme/fdd/*",
+                    "build/$proj/$flavor/modem/dbme/tdd/*",
+                    "build/$proj/$flavor/modem/ldbme/fdd/*",
+                    "build/$proj/$flavor/modem/ldbme/tdd/*",
+                    "build/$proj/$flavor/modem/lpcch_asn/*",
+                    "build/$proj/$flavor/modem/mcddll/*",
+                    "build/$proj/$flavor/modem/mcddll/fdd/*",
+                    "build/$proj/$flavor/modem/mcddll/tdd/*",
+                    "build/$proj/$flavor/modem/rrc_asn/*",
+                    "build/$proj/$flavor/modem/rrc_asn/fdd/*",
+                    "build/$proj/$flavor/modem/rrc_asn/tdd/*",
+                    "build/$proj/$flavor/dhl/database/*.map",
+                    "build/$proj/$flavor/dhl/database/unionTag/unionTag.txt"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/dbme/fdd/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/dbme/tdd/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/ldbme/fdd/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/ldbme/tdd/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/lpcch_asn/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcddll/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcddll/fdd/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/mcddll/tdd/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/rrc_asn/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/rrc_asn/fdd/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/modem/rrc_asn/tdd/*",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/dhl/database/*.map",
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/dhl/database/unionTag/unionTag.txt"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file
diff --git a/mcu/tools/genTargetFile/json/xl1r_gen.det.json b/mcu/tools/genTargetFile/json/xl1r_gen.det.json
new file mode 100755
index 0000000..3bd59d3
--- /dev/null
+++ b/mcu/tools/genTargetFile/json/xl1r_gen.det.json
@@ -0,0 +1,21 @@
+{
+    "common": {
+        "protocol/smt/xl1r/cgen/gen_l1_header.pl": {
+            "InputFile": {
+                "common": [
+                    "interface/l1/el1/el1c/include/*.h"
+                ],
+                "target": [],
+                "modis_uesim": []
+            },
+            "OutputFile": {
+                "target": [
+                    "build/$proj/$flavor/xl1r/include/*.h"
+                ],
+                "modis_uesim": [
+                    "build/$proj/$flavor/$modis_uesim/_BUILD_XGEN/xl1r/include/*.h"
+                ]
+            }
+        }
+    }
+}
\ No newline at end of file