[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/make/common/buildconfig.mak b/mcu/make/common/buildconfig.mak
new file mode 100644
index 0000000..4ea5a14
--- /dev/null
+++ b/mcu/make/common/buildconfig.mak
@@ -0,0 +1,337 @@
+#
+#  Copyright Statement:
+#  --------------------
+#  This software is protected by Copyright and the information contained
+#  herein is confidential. The software may not be copied and the information
+#  contained herein may not be used or disclosed except with the written
+#  permission of MediaTek Inc. (C) 2005
+#
+#  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+#  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+#  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+#  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+#  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+#  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+#  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+#  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+#  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+#  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+#  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+#  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+#
+#  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+#  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+#  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+#  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+#  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+#
+#  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+#  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+#  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+#  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+#  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+SHELL:=/bin/bash
+# *************************************************************************
+# Build path, directories
+# *************************************************************************
+ifndef MODIS_CONFIG
+  MODIS_CONFIG := FALSE
+endif
+
+FIXPATH           := .
+BUILDDIR          := $(strip $(FIXPATH))/build
+RELDIR            := $(strip $(FIXPATH))/mtk_rel
+UNIVERSAL_COMMON  := ../common
+MAKE_COMMON       := make/common
+CCACHE            := ./mtk_tools/ccache/3.7.5/linux/ccache
+
+PROJDIR           := $(strip $(BUILDDIR))/$(strip $(PROJECT_NAME))/$(strip $(FLAVOR))
+CUS_MTK_REL       := $(strip $(RELDIR))/$(strip $(ORIGINAL_PROJECT_NAME))/$(strip $(ORIGINAL_FLAVOR))/TARGET
+ifeq ($(strip $(MODIS_CONFIG)),TRUE)
+  ifeq ($(strip $(call uc,$(UE_SIMULATOR))),TRUE)
+    MODIS_UESIM   := UESim
+    CUS_MTK_REL   := $(strip $(RELDIR))/$(strip $(ORIGINAL_PROJECT_NAME))/$(strip $(ORIGINAL_FLAVOR))/UESIM
+  else
+    MODIS_UESIM   := MoDIS
+    CUS_MTK_REL   := $(strip $(RELDIR))/$(strip $(ORIGINAL_PROJECT_NAME))/$(strip $(ORIGINAL_FLAVOR))/MODIS
+  endif
+  TARGET_MODIS_UESIM := $(MODIS_UESIM)
+else
+  TARGET_MODIS_UESIM := target
+endif
+DSP_MTK_REL       := $(strip $(RELDIR))/$(strip $(ORIGINAL_PROJECT_NAME))/$(strip $(ORIGINAL_FLAVOR))
+PROJ_INTERNAL_DIR := $(subst build/,build_internal/,$(PROJDIR))
+
+include $(strip $(PROJDIR))/Custom.bld
+
+TARGDIR           := $(strip $(PROJDIR))/bin
+TMPDIR            := $(strip $(PROJDIR))/tmp
+CUSTPACKDIR       := $(strip $(PROJDIR))/custpack
+BUILD_RELDIR      := $(strip $(PROJDIR))/rel
+
+OBJSDIR           := $(strip $(TARGDIR))/obj
+RULESDIR          := $(strip $(TARGDIR))/dep
+COMPLIBDIR        := $(strip $(TARGDIR))/lib
+COMPLOGDIR        := $(strip $(TARGDIR))/log
+MODULEINFODIR     := $(strip $(TARGDIR))/module
+
+GEN_MCDDIR        := $(strip $(PROJDIR))/modem/mcd
+GEN_SCSIDIR       := $(strip $(PROJDIR))/modem/scsi
+GEN_L4DIR         := $(strip $(BUILD_RELDIR))/L4
+GEN_MMIDIR        := $(strip $(BUILD_RELDIR))/BASIC
+
+CUS_MTK_LIB       := $(strip $(CUS_MTK_REL))/lib
+REL_L4DIR         := $(strip $(CUS_MTK_REL))/L4
+REL_MMIDIR        := $(strip $(CUS_MTK_REL))/BASIC
+REL_MCDDIR        := $(strip $(CUS_MTK_REL))/modem/mcd
+REL_SCSIDIR       := $(strip $(CUS_MTK_REL))/modem/scsi
+
+BUILD_L4DIR       := $(strip $(GEN_L4DIR))
+
+PRE_CODEGEN_DIR   := $(strip $(TMPDIR))/pre_codegen
+
+ALL_MOD_DIR     := $(strip $(TARGDIR))
+ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
+  ALL_MOD_DIR     := $(strip $(CUS_MTK_REL))/BASIC
+  BUILD_L4DIR     := $(strip $(REL_L4DIR))
+endif
+
+GEN_ASDIR    :=  $(strip $(PROJDIR))
+ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
+  GEN_ASDIR    :=  $(strip $(CUS_MTK_REL))
+endif
+
+GEN_SSDIR   := $(strip $(PROJDIR))/rel/L4/csm/ss
+REL_SSDIR   := $(strip $(CUS_MTK_REL))/L4/csm/ss
+BUILD_SSDIR := $(strip $(GEN_SSDIR))
+
+ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
+BUILD_SSDIR := $(strip $(REL_SSDIR))
+endif
+
+TARGNAME              := $(strip $(PROJECT_NAME))_$(strip $(SUB_BOARD_VER))_$(strip $(PLATFORM))_$(strip $(CHIP_VER))
+
+TSTDIR                := service/dhl
+TSTDIR_SEC            := protocol/lte_sec/dhl
+LOGGING_DATABASE      := interface/service/logging_database
+BUILD_TSTDIR          := $(strip $(PROJDIR))/dhl
+BUILD_TSTDIR_SEC      := $(strip $(PROJDIR))/dhl/lte_sec
+BUILD_TSTDIR_4G       := $(strip $(PROJDIR))/dhl/4g
+
+TST_DB                := $(strip $(TSTDIR))/database
+TST_DB_SEC            := $(strip $(TSTDIR_SEC))/database
+CODE_GEN_LOG          := $(strip $(COMPLOGDIR))/codegen.log
+BUILD_TST_DB          := $(BUILD_TSTDIR)/database
+BUILD_TST_DB_SEC      := $(BUILD_TSTDIR_SEC)/database
+BUILD_TST_DB_4G       := $(BUILD_TSTDIR_4G)/database
+
+MDDBINFOCUSTOMPREFIX  := MDDB_$(strip $(PLATFORM))_$(strip $(CHIP_VER))
+MODIS_TST_DB          := $(strip $(TST_DB))
+MODIS_TST_DB_SEC      := $(strip $(TST_DB_SEC))
+MODISBUILD_TST_DB     := $(strip $(BUILD_TST_DB))
+MODISBUILD_TST_DB_SEC := $(strip $(BUILD_TST_DB_SEC))
+MODISBUILD_TST_DB_4G  := $(strip $(BUILD_TST_DB_4G))
+
+CUSTOMIZATION         := $(LOGGING_DATABASE)/XDD/Customization
+DBFINI_DIR            := $(LOGGING_DATABASE)/XDD/DSP
+ICDINI_DIR            := $(LOGGING_DATABASE)/XDD/ICD
+DBF_INPUT_PATH        := $(strip $(MODISBUILD_TST_DB))/dbf
+
+MODIS_RULESDIR        := $(strip $(RULESDIR))
+ADT_RULESDIR          := $(strip $(PROJ_INTERNAL_DIR))/l1ADT
+CGEN_L1_OUTDIR        := $(strip $(PROJ_INTERNAL_DIR))/l1trace
+CODEGEN_DEP           := $(MODIS_RULESDIR)/codegen_dep
+PREGEN_DEP            := $(MODIS_RULESDIR)/pregen_dep
+POSTGEN_DEP           := $(MODIS_RULESDIR)/postgen_dep
+DBG_INFO_VERNO        := $(call uc,$(subst .,_,$(VERNO)))
+
+ifeq ($(strip $(COMPILER)),GCC)
+  CGEN_DEF_FILE = Tgt_Cnf_GCC
+else
+  CGEN_DEF_FILE = Tgt_Cnf
+endif
+
+BUILD_SYSDIR           := $(strip $(PROJDIR))/custom/system
+BUILD_CODEGENDIR       := $(strip $(PROJDIR))/custom/driver/drv_gen
+
+NOT_REMOVAL_DIR_FILE   := $(strip $(MAKE_COMMON))/NotRemovalCodeDir.def
+
+#  Settings for emigen
+FLASH_OPTIONS_HDR      := custom/driver/common/flash_opt.h
+CUSTOM_FLASH_C         := custom/driver/common/custom_flash.c
+CUSTOM_EMI_H           := $(strip $(BUILD_SYSDIR))/custom_EMI.h
+CUSTOM_EMI_RELEASE_H   := $(strip $(BUILD_SYSDIR))/custom_EMI_release.h
+CUSTOM_EMI_C           := $(strip $(BUILD_SYSDIR))/custom_EMI.c
+CUSTOM_FLASH_NORFDM5_C := $(strip $(BUILD_SYSDIR))/custom_flash_norfdm5.c
+MEMORY_DEVICE_HDR      := $(strip $(BUILD_SYSDIR))/custom_MemoryDevice.h
+
+EMI_GENERATOR := ./tools/emigenMD.pl
+FLASHFILE     := $(strip $(TMPDIR))/~flash_cfg_tmp.c
+
+# Setting for MK IMAGE
+MCU_DRDI_MK_IMAGE_CFG  := ./tools/MKImage/img_hdr_md1drdi.cfg
+MCU_MK_IMAGE_CFG       := ./tools/MKImage/img_hdr_md1rom.cfg
+MCU_MK_IMAGE_TOOL      := ./tools/MKImage/mkimage
+
+EAS_FOLDER      := protocol/eas
+NRAS_FOLDER     := protocol/nras
+UAS_FDD_FOLDER  := protocol/3g/urr/urr_fdd
+UAS_TDD_FOLDER  := protocol/3g/urr/urr_tdd
+LAS_FOLDER      := protocol/2g/las
+GAS_FDD_FOLDER  := protocol/2g/gas
+GAS_TDD_FOLDER  := protocol/2g/gas_tdd
+FLC_FOLDER      := protocol/l2_utility/flc2_v2
+PPP_FOLDER      := middleware/ppp_v2
+SCSI_FOLDER     := protocol/as_utility/scsi
+SLEEPDRV_FOLDER := driver/sleep_drv
+DVFSDRV_FOLDER  := driver/dvfs_drv
+
+ifeq ($(strip $(call uc,$(UE_SIMULATOR))),TRUE)
+ifeq ($(strip $(U4G_ADAPTOR_SUPPORT)),TRUE)
+EL1_FOLDER := protocol/lte_sec/smt/u4gHlAdaptor/el1b
+else
+EL1_FOLDER := l1/el1/el1c
+endif
+else
+EL1_FOLDER := l1/el1/el1c
+endif
+
+# Do not support new mmi feature file architecture
+PURE_VERNO          := $(subst .,_, $(call uc,$(VERNO)))
+
+MDDBMETA            := MDDB.META_$(strip $(PLATFORM))_$(strip $(CHIP_VER))_$(strip $(PURE_VERNO)).EDB
+MDDBMETA_V12        := Internal_meta_db_v12_for_Debug.EDB
+MDDBMETADATABASEXML := MDDB.META.ODB_$(strip $(PLATFORM))_$(strip $(CHIP_VER))_$(strip $(PURE_VERNO)).XML
+MDDBINFOCUSTOMSRCP  := MDDB_InfoCustomAppSrcP_$(strip $(PLATFORM))_$(strip $(CHIP_VER))_$(strip $(PURE_VERNO)).EDB
+NEWTARGNAME         := $(strip $(PROJECT_NAME))_MDBIN_$(strip $(SUB_BOARD_VER))_$(strip $(PLATFORM))_$(strip $(CHIP_VER)).$(strip $(PURE_VERNO))
+CHECKBINFILE        := $(strip $(PROJECT_NAME))_MDBIN_$(strip $(SUB_BOARD_VER))_$(strip $(PLATFORM))_$(strip $(CHIP_VER))
+
+VERNODIR            := $(strip $(PROJDIR))/verno
+LOG                 := $(strip $(TARGDIR))/link.log
+COMPLOGDIR          := $(strip $(TARGDIR))/log
+INFOLOG             := $(strip $(COMPLOGDIR))/info.log
+INFOMAKELOG         := $(strip $(COMPLOGDIR))/infomake.log
+MCDDLL_INFOLOG      := $(strip $(COMPLOGDIR))/mcddll_info.log
+MCDDLL_UPDATE_LOG   := $(strip $(COMPLOGDIR))/mcddll_update.log
+LTE_SRC_FDR         := lte_src
+
+ifneq ($(wildcard $(LTE_SRC_FDR)),)
+LTE_SRC_PATH := $(strip $(LTE_SRC_FDR))
+else
+LTE_SRC_PATH := .
+endif
+
+ifeq ($(strip $(DEMO_PROJECT)),TRUE)
+VERNOFILE    := $(strip $(MAKE_COMMON))/Verno.bld
+else
+VERNOFILE    := 
+endif
+
+SLIM_BRANCH  := $(call uc,$(strip $(BRANCH)))
+BRANCH       += $(call uc,$(strip $(PROJECT_NAME)))
+# *************************************************************************
+# Set defaul value to eliminate "option not define" warning
+# *************************************************************************
+BM_NEW = FALSE
+
+INSIDE_MTK = 0
+ifeq ($(strip $(call uc,$(MTK_INTERNAL))),TRUE)
+  INSIDE_MTK = 1
+endif
+
+DEFAULT_CUSTOMER = MTK MTK_RF PLUTO
+ifneq ($(filter $(call uc,$(strip $(PROJECT_NAME))),$(strip $(DEFAULT_CUSTOMER))),)
+  SCATTERNAME = scat$(strip $(PLATFORM)).txt
+else
+  SCATTERNAME = scat$(strip $(PROJECT_NAME)).txt
+endif
+
+SCATTERFILE       := $(subst scat,lds,$(strip $(BUILD_SYSDIR))/$(strip $(SCATTERNAME)))
+SCATTERFILE_PATH  := $(subst scat,lds,$(strip $(FIXPATH))/custom/system/Specific_LDS)
+COPRO_SCATTERFILE := $(subst scat,lds,$(strip $(COPRO_SYSDIR))/$(strip $(SCATTERNAME)))
+BL_SCATTERFILE    := $(subst scat,lds,$(strip $(BUILD_SYSDIR))/scatBL_$(strip $(PLATFORM)).txt)
+
+SCATTERFILE_FLASHTOOL := $(subst .txt,_flashtool.txt,$(strip $(SCATTERFILE)))
+SCATTERFILE_FLASHTOOL_NAME := $(filter %.txt,$(subst /, ,$(SCATTERFILE_FLASHTOOL)))
+
+# *************************************************************************
+#  Implicit Rules and Compiler Options
+# *************************************************************************
+BIN_FILE       = $(strip $(NEWTARGNAME)).bin
+IMG_FILE       = $(strip $(TARGNAME)).elf
+GDB_TMP_FILE   = $(strip $(TARGNAME)).elf.gdb-index
+GDB_FILE       = $(strip $(TARGNAME)).elf.gdb-index.elf
+SYM_FILE       = $(strip $(TARGNAME)).sym
+MAP_FILE       = $(strip $(TARGNAME)).map
+ifeq ($(strip $(COMPILER)),GCC)
+LIS_FILE       = $(strip $(TARGNAME)).map
+else
+LIS_FILE       = $(strip $(TARGNAME)).lis
+endif
+DRDI_BIN_FILE := DRDI.bin
+
+# *************************************************************************
+# Settings for DSP
+# *************************************************************************
+DSPDIR          := $(strip $(RELDIR))/$(strip $(ORIGINAL_PROJECT_NAME))/$(strip $(ORIGINAL_FLAVOR))/dsp_rel
+BUILD_DSPDIR    := $(strip $(TARGDIR))/dsp
+ifeq ($(strip $(RELEASE_PACKAGE)),REL_INTERNAL)
+DSP_DEFAULT_DBF := DSP_Default.dbf
+else
+DSP_DEFAULT_DBF := DSP_Default_external.dbf
+endif
+ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
+DSP_DBF         := $(DSPDIR)/$(strip $(DSP_PROJECT))/$(strip $(DSP_FLAVOR))/final_bin/xml/$(strip $(DSP_DEFAULT_DBF))
+else
+DSP_DBF         := $(strip $(MODISBUILD_TST_DB))/dbf/$(strip $(DSP_DEFAULT_DBF))
+endif
+DSP_INFO_FILE   := label.ini
+DSP_VER         := $(strip $(PLATFORM))_$(subst .,_,$(call uc,$(strip $(VERNO))))
+BUILD_DSPDIR    := $(strip $(TARGDIR))/dsp
+DSP_REL_DIR     := dsp_rel
+
+DSP_FINAL_BIN_NAME := $(strip $(DSP_PROJECT))_$(strip $(DSP_FLAVOR))_DSP_FINAL_BIN.zip
+ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
+DBF_INPUT_PATH  := $(DSPDIR)/$(strip $(DSP_PROJECT))/$(strip $(DSP_FLAVOR))/final_bin/xml
+endif
+
+# *************************************************************************
+# Settings for Guardian
+# *************************************************************************
+ifndef PARTIAL_SOURCE 
+PARTIAL_SOURCE := FALSE
+endif
+
+# *************************************************************************
+# File setting for linux/win
+# *************************************************************************
+ifeq ($(strip $(OS_VERSION)),MSWin32)
+  CGEN         := $(strip $(FIXPATH))\tools\CGenTool\Cgen.exe
+  POSTGEN      := $(strip $(FIXPATH))\tools\PostGen\PostGen.exe
+  DB_CONVERTER := $(strip $(FIXPATH))\tools\PostGen\Converter\DBv12_Converter.exe
+  DRV_GEN      := $(FIXPATH)\custom\driver\drv\Drv_Tool\DrvGen.exe
+  MBL_COMPOSER := .\tools\MBL_Composer.exe
+  DBG_INFOGEN  := .\tools\DbgInfoGen.exe
+  UPDATE_IMG   := .\tools\update_img.exe
+  HEADER_TEMP  :=  $(subst /,\,$(strip $(PROJDIR)))\header_temp
+  HTOGETHER    := .\tools\hTogether\htogether_list.bat
+  MinGWDir     := .\mtk_tools\MinGW\win
+else
+  CGEN := $(strip $(FIXPATH))/tools/CGenTool/Cgen
+  POSTGEN      := $(strip $(FIXPATH))/tools/PostGen/PostGen
+  DB_CONVERTER := $(strip $(FIXPATH))/tools/PostGen/Converter/DBv12_Converter
+  DRV_GEN      := $(FIXPATH)/custom/driver/drv/Drv_Tool/DrvGen
+  MBL_COMPOSER := ./tools/MBL_Composer
+  DBG_INFOGEN  := ./tools/DbgInfo/DbgInfoGen
+  UPDATE_IMG   := ./tools/update_img
+  HEADER_TEMP  := $(strip $(PROJDIR))/header_temp
+  HTOGETHER    := ./tools/hTogether/htogether_list.sh
+  MinGWDir     := /mtkoss/mingw/6.2.1
+endif
+
+# *************************************************************************
+# MD_OFFLOAD_COPRO settings
+# *************************************************************************
+L1CORE_SCATTERFILE  := $(strip $(L1CORE_SYSDIR))/lds$(strip $(PROJECT_NAME))_$(strip $(FLAVOR)).txt
+L1CORE_MAP_FILE     := $(strip $(L1CORE_TARGDIR))/$(strip $(L1CORE_TARGNAME_L)).map
+L1CORE_SYM_FILE     := $(strip $(L1CORE_TARGDIR))/$(strip $(L1CORE_TARGNAME_L)).sym