[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/make/module/custom/protocol/custom_protocol.mak b/mcu/make/module/custom/protocol/custom_protocol.mak
new file mode 100644
index 0000000..82e6ced
--- /dev/null
+++ b/mcu/make/module/custom/protocol/custom_protocol.mak
@@ -0,0 +1,192 @@
+INC_DIR =
+COMP_DEFS =
+FOLDER_LIST =
+
+# Define source file lists to SRC_LIST
+# Define source file folder to FOLDER_LIST
+#modem
+FOLDER_LIST += $(call CUSTOM_FLD_MAPPING,./custom/modem/ps) \
+               custom/protocol/common/atp/src \
+               custom/protocol/common/atci/src \
+               custom/protocol/common/ps \
+               ./custom/modem/common
+
+
+#fdr_reorg
+ifneq ($(strip $(TEST_LOAD_TYPE)),BASIC)
+FOLDER_LIST += custom/protocol/common/ps
+else
+SRC_LIST += custom/protocol/common/ps/custom_em.c \
+            custom/protocol/common/ps/ul1_nvram_def.c
+endif
+
+
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.c),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.cpp),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.s),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.S),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.dws),$(FILE)) \
+)
+SRC_LIST += $(foreach DIR,$(FOLDER_LIST), \
+  $(foreach FILE,$(wildcard $(DIR)/*.rec),$(FILE)) \
+)
+
+ # Not compile ul1_nvram_def_md93.c/ul1_nvram_def_md95.c
+  SRC_LIST := $(foreach file,$(SRC_LIST),$(if $(filter $(notdir $(call Lower,$(file))),ul1_nvram_def_md93.c),,$(file)))  
+  SRC_LIST := $(foreach file,$(SRC_LIST),$(if $(filter $(notdir $(call Lower,$(file))),ul1_nvram_def_md95.c),,$(file))) 
+  SRC_LIST := $(foreach file,$(SRC_LIST),$(if $(filter $(notdir $(call Lower,$(file))),ul1_nvram_def_md97.c),,$(file)))  
+SRC_LIST :=  $(call uniq,$(SRC_LIST))
+
+ifneq ($(filter BASIC,$(TEST_LOAD_TYPE)),)
+  SRC_LIST := $(filter-out custom/protocol/common/ps/custom_eas_config.c,$(SRC_LIST))
+else
+  ## For caband_gen
+  ifneq ($(strip $(MODIS_CONFIG)),TRUE)
+    SRC_LIST += $(strip $(PROJDIR))/custom/modem/eas_caband_tbl/eas_caband_tbl_v2.c
+  else
+    SRC_LIST += $(strip $(MODISPROJDIR))/_BUILD_XGEN/custom/modem/eas_caband_tbl/eas_caband_tbl_v2.c
+  endif
+endif
+
+ifeq ($(filter __L5_SUPPORT__, $(strip $(MODULE_DEFS))),)
+  SRC_LIST := $(filter-out custom/protocol/common/ps/custom_l5.c,$(SRC_LIST))
+  SRC_LIST := $(filter-out custom/protocol/common/ps/custom_l5_at.c,$(SRC_LIST))
+  SRC_LIST := $(filter-out custom/protocol/common/ps/custom_l5_mipc.c,$(SRC_LIST))
+  SRC_LIST := $(filter-out custom/protocol/common/ps/custom_l5_mbci.c,$(SRC_LIST))
+endif
+
+INC_DIR += custom/protocol/common/ps \
+           $(call CUSTOM_FLD_MAPPING,./custom/modem/ps) \
+           protocol/interface/l4misc \
+           protocol/interface/l4 \
+           protocol/layer4/l4/include \
+           protocol/layer4/l4/atci/include \
+           protocol/layer4/l4/l4c/include/common \
+           protocol/layer4/l4/l4c/include/proc \
+           protocol/layer4/l4/csm/cc/include \
+           protocol/layer4/l4/uem/include \
+           protocol/layer4/l4/phb/include \
+           protocol/layer4/l4/csm/cc/include \
+           protocol/layer4/l4/csm \
+           protocol/layer4/l4/tcm/etcm/include \
+           protocol/layer4/l4/smsal/include \
+           protocol/layer4/l4/csm/ss/asn1/gen/include \
+           protocol/layer4/l4/smu/include \
+           protocol/layer4/l4/rac/common/include \
+           protocol/layer4/l4/rac/ugrac/include \
+           protocol/layer4/sim/include \
+           interface/l1/gl1/internal
+
+ifeq ($(strip $(LGE_SECURITY)), TRUE)
+  INC_DIR += custom/modem/lgesecurity
+endif
+		   
+ifdef RF_MODULE
+  ifneq ($(strip $(RF_MODULE)),NONE)
+    INC_DIR +=custom/l1/gl1_rf/$(strip $(RF_MODULE))
+  endif
+endif
+
+ifneq ($(strip $(EUTRAN_MODE_SUPPORT)),NONE)
+  INC_DIR += protocol/layer4/l4/rac/erac/include
+endif
+
+INC_DIR += $(strip $(PROJDIR))/verno \
+           $(strip $(PROJDIR))/nvram_auto_gen
+
+INC_DIR += driver/sys_drv/cache/inc
+INC_DIR += driver/sys_drv/cache/inc/$(MD_VER_FOLDER)
+INC_DIR += service/mtf/inc
+
+# ATCI is always needed.
+INC_DIR += custom/protocol/common/atci/include
+
+# ATP is always needed.
+INC_DIR += custom/protocol/common/atp/include
+
+ifeq ($(filter __MTK_TARGET__,$(strip $(MODULE_DEFS))),)
+  INC_DIR += MoDIS_VC9/drv_sim/include
+endif
+
+INC_DIR :=  $(call uniq,$(INC_DIR))
+
+
+# Define the specified compile options to COMP_DEFS
+COMP_DEFS += __UCS2_ENCODING \
+            MMI_ON_HARDWARE_P \
+            APCS_INTWORK \
+            USE_JAM=0 \
+            COMPILER_SUPPORTS_LONG=1
+
+ifneq ($(words $(wildcard $(call CUSTOM_FLD_MAPPING,./custom/modem/ps)/custom_port_setting.c)), 0)
+    COMP_DEFS += __CUSTOMIZED_PORT_SETTING__
+endif
+
+INC_DIR += protocol/interface/ims
+
+INC_DIR += interface/l1/el1/external
+
+INC_DIR += interface/protocol/general
+
+#fdr_reorg
+INC_DIR += interface/protocol/as_c2k/common \
+           custom/protocol/common/ps \
+           interface/l1/cl1/common \
+           interface/protocol/nas_c2k \
+           protocol/interface/general \
+           protocol/interface/iwlan \
+           interface/protocol/as_c2k/1xrtt \
+           interface/protocol/as_c2k/evdo \
+           interface/protocol/l2_c2k/common
+
+INC_DIR += service/kal/common/include
+INC_DIR += service/kal/lib/mlib/include
+INC_DIR += driver/sys_drv/init/inc
+INC_DIR += service/sst/include
+INC_DIR += driver/devdrv/elm/inc
+INC_DIR += interface/driver/sib_drv/scc
+INC_DIR += interface/driver/devdrv/pcie
+
+INC_DIR += protocol/interface/lte
+INC_DIR += protocol/interface/agps
+INC_DIR += protocol/interface/ddm
+ifneq ($(filter __L5_SUPPORT__, $(strip $(MODULE_DEFS))),)
+INC_DIR += interface/protocol/l5/mipc/common
+INC_DIR += interface/protocol/l5/mipc/msg
+INC_DIR += $(strip $(PROJDIR))/modem/mipc/include
+endif
+INC_DIR += interface/driver/dpcopro/custom
+
+INC_DIR += interface/service/icd \
+           interface/service/icd/errc \
+           interface/service/icd/nl1 \
+           interface/service/icd/nl2 \
+           interface/service/icd/el2 \
+           interface/service/icd/el1 \
+           interface/service/icd/event/enas \
+           interface/service/icd/event/errc \
+           interface/service/icd/event/nrrc \
+           interface/service/icd/event/nl2 \
+           interface/service/icd/event/el2 \
+           interface/service/icd/event/nl1 \
+           interface/service/icd/event/el1 \
+           interface/service/icd/event/cm
+
+ifeq ($(strip $(MTK_MODEM_ARCH)), MT6297)
+  CATEGORY_INCDIRS += protocol/interface/enl2/el2
+  CATEGORY_INCDIRS += protocol/interface/enl2/en_common
+else ifeq ($(strip $(MTK_MODEM_ARCH)), MT6297P)
+  CATEGORY_INCDIRS += protocol/interface/enl2/el2
+  CATEGORY_INCDIRS += protocol/interface/enl2/en_common
+else
+  CATEGORY_INCDIRS += protocol/interface/el2
+endif