[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/make/common/xgeninc.mak b/mcu/make/common/xgeninc.mak
new file mode 100644
index 0000000..36aac93
--- /dev/null
+++ b/mcu/make/common/xgeninc.mak
@@ -0,0 +1,985 @@
+#
+#  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).
+
+#  Define include path lists to XGEN_INC_DIR
+#XGEN_INC_DIR = $(COMMINCDIRS)
+XGEN_INC_DIR_FDD :=
+XGEN_INC_DIR_TDD :=
+
+ifneq ($(filter __PERF_SUPPORT__,$(COM_DEFS)),)
+    XGEN_INC_DIR += protocol/perf/src
+    XGEN_INC_DIR += protocol/perf
+endif
+
+ifneq ($(strip $(L1_UMTS)),TRUE)
+  XGEN_INC_DIR += protocol/as_multimode/asinterfaces/include \
+                    $(strip $(GAS_FOLDER))/common/include \
+                    $(strip $(GAS_FOLDER))/rrm/common/include \
+                    $(strip $(GAS_FOLDER))/rrm/rmc/include \
+                    $(strip $(GAS_FOLDER))/rrm/rcs/include \
+                    $(strip $(GAS_FOLDER))/lapdm/include \
+                    $(strip $(GAS_FOLDER))/mpal/include \
+                    $(strip $(GAS_FOLDER))/rlc/include \
+                    $(strip $(GAS_FOLDER))/mac/include \
+                    $(strip $(GAS_FOLDER))/rrm/rmp/include \
+                    protocol/nas/mm/cmm/include \
+                    protocol/nas/mm/common/include \
+                    protocol/nas/mm/pmm/include \
+                    protocol/as_multimode/ratcm/include \
+                    protocol/as_multimode/ratdm/cmn_sig/include \
+                    protocol/as_utility/scsi/gen/include \
+                    protocol/as_utility/scsi/include \
+                    interface/l1/ul1 \
+    l1/interface/el1 \
+    protocol/2g/las/gise/include \
+    protocol/2g/las/gise_tdd/include \
+    l1/ul1/common \
+                    service/fsm/include
+ ifdef GEMINI
+    ifneq ($(strip $(GEMINI)),FALSE)
+      XGEN_INC_DIR += protocol/as_multimode/rsva/rsvas/include \
+                        protocol/as_multimode/rsva/interface/enum \
+                        protocol/as_multimode/rsva/interface/local_inc \
+                        protocol/as_multimode/rsva/common/include \
+                        protocol/as_multimode/rsva/mspm/include \
+                        interface/service/icd \
+                        interface/service/icd/event/cm \
+                        $(strip $(PROJDIR))/modem/icd_ac_gen
+
+    endif
+  endif
+else
+  ifneq ($(strip $(UTRAN_MODE_SUPPORT)),NONE)
+    GAS_INC_SUPPORT = TRUE
+  else
+    ifeq ($(filter BASIC,$(TEST_LOAD_TYPE)),)
+      GAS_INC_SUPPORT = TRUE
+    endif
+  endif
+  ifeq ($(strip $(GAS_INC_SUPPORT)),TRUE)
+      XGEN_INC_DIR += protocol/as_multimode/asinterfaces/include \
+                      $(strip $(GAS_FOLDER))/common/include \
+                      $(strip $(GAS_FOLDER))/rrm/common/include \
+                      $(strip $(GAS_FOLDER))/rrm/rmc/include \
+                      $(strip $(GAS_FOLDER))/rrm/rcs/include \
+                      $(strip $(GAS_FOLDER))/lapdm/include \
+                      $(strip $(GAS_FOLDER))/mpal/include \
+                      $(strip $(GAS_FOLDER))/rlc/include \
+                      $(strip $(GAS_FOLDER))/mac/include \
+                      protocol/2g/las/gise/include \
+                      protocol/2g/las/gise_tdd/include \
+                      protocol \
+                      protocol/nas/mm/cmm/include \
+                      protocol/nas/mm/common/include \
+                      protocol/nas/mm/pmm/include \
+                      protocol/as_multimode/ratcm/include \
+                      protocol/as_multimode/ratdm/cmn_sig/include \
+                      protocol/as_utility/scsi/gen/include \
+                      protocol/as_utility/scsi/include \
+                      $(strip $(UAS_FOLDER))/interface/include \
+                      protocol \
+                      protocol/3g/urr/urr_fdd/common/asn1/include \
+                      protocol/3g/urr/urr_tdd/common/asn1/include \
+                      $(strip $(UAS_FOLDER))/common/include \
+                      $(strip $(UAS_FOLDER))/interface/enum \
+                      $(strip $(UAS_FOLDER))/interface/local_inc \
+                      $(strip $(UAS_FOLDER))/ul2/common/include \
+                      $(strip $(UAS_FOLDER))/ul2/bmc/include \
+                      $(strip $(UAS_FOLDER))/ul2/pdcp/include \
+                      $(strip $(UAS_FOLDER))/ul2/rabm/include \
+                      $(strip $(UAS_FOLDER))/ul2/umac/include \
+                      $(strip $(UAS_FOLDER))/ul2/urlc/include \
+                      $(strip $(UAS_FOLDER))/ul2/seq/include \
+                      $(strip $(UAS_FOLDER))/urr/common/include \
+                      $(strip $(UAS_FOLDER))/urr/meme/include \
+                      $(strip $(UAS_FOLDER))/urr/rrce/include \
+                      $(strip $(UAS_FOLDER))/urr/slce/include \
+                      $(strip $(UAS_FOLDER))/urr/dbme/include \
+                      $(strip $(UAS_FOLDER))/urr/cise/include \
+                      service/fsm/include \
+                      driver/bytecopy/inc \
+                      interface/l1/ul1/internal \
+                      ./interface/modem/l1/gsm/internal \
+                      protocol/2g/interface \
+                      interface/protocol/general \
+                      $(strip $(PROJDIR))/modem/dbme \
+                      $(strip $(PROJDIR))/modem/rrc_asn \
+                      $(strip $(PROJDIR))/modem/mcddll \
+                      protocol/3g/urr/urr_fdd/common/dbme/include \
+                      protocol/as_multimode/dbme/include \
+                      protocol/3g/urr/interface/struct \
+                      interface/protocol/general \
+                      ./service/event_info \
+                      protocol/as_multimode/las/include \
+                      interface/service/cert
+
+      XGEN_INC_DIR_FDD += $(strip $(PROJDIR))/modem/dbme/fdd \
+                          $(strip $(PROJDIR))/modem/rrc_asn/fdd \
+                          $(strip $(PROJDIR))/modem/mcddll/fdd \
+                          protocol/3g/urr/urr_fdd/lcsce/include \
+                          protocol/3g/urr/urr_fdd/lmeme/include \
+                          protocol/3g/urr/urr_fdd/common/include \
+                          protocol/3g/urr/urr_fdd/las/include \
+                          protocol/3g/urr/urr_fdd/ldbme/include
+
+      XGEN_INC_DIR_TDD += $(strip $(PROJDIR))/modem/dbme/tdd \
+                          $(strip $(PROJDIR))/modem/rrc_asn/tdd \
+                          $(strip $(PROJDIR))/modem/mcddll/tdd \
+                          $(strip $(PROJDIR))/modem/lpcch_asn \
+                          protocol/3g/urr/urr_tdd/lcsce/include \
+                          protocol/3g/urr/urr_tdd/lmeme/include \
+                          protocol/3g/urr/urr_tdd/common/include \
+                          protocol/3g/urr/urr_tdd/las/include \
+                          protocol/3g/urr/urr_tdd/ldbme/include \
+                          protocol/3g/ul2/ul2_tdd/lurlc/include \
+                          protocol/3g/urr/urr_tdd/lrrce/include \
+                          protocol/3g/ul2/ul2_tdd/lumac/include \
+                          protocol/3g/interface/uas/uas_tdd/struct
+
+      ifdef GEMINI
+        ifneq ($(strip $(GEMINI)),FALSE)
+          XGEN_INC_DIR += protocol/as_multimode/rsva/rsvas/include \
+                          protocol/as_multimode/rsva/interface/enum \
+                          protocol/as_multimode/rsva/interface/local_inc \
+                          protocol/as_multimode/rsva/common/include \
+                          protocol/as_multimode/rsva/rsvak/include \
+                          protocol/as_multimode/rsva/rsvau/include \
+                          protocol/as_multimode/rsva/rsvae/include \
+						  protocol/as_multimode/rsva/rsvan/include \
+                          protocol/as_multimode/rsva/rsvac/include \
+                          protocol/as_multimode/rsva/rsvag/include \
+						  protocol/as_multimode/rsva/mspm/include \
+                          interface/service/icd \
+                          interface/service/icd/event/cm \
+                          $(strip $(PROJDIR))/modem/icd_ac_gen
+        endif
+      endif
+      XGEN_INC_DIR += ./interface/uas \
+                      interface/driver/dpcopro
+  endif
+endif
+
+ifeq ($(strip $(L1_UMTS)),TRUE)
+  XGEN_INC_DIR += protocol/2g/sndcp/include \
+                  protocol/nas/sm/include \
+                  protocol/nas_multimode/pam \
+                  protocol/nas_utility/nas_common_utility/include \
+                  protocol/2g/llc/include
+else
+  ifeq ($(strip $(GERAN_MODE_SUPPORT)),GERAN_EGPRS_MODE)
+    ifeq ($(strip $(UTRAN_MODE_SUPPORT)),NONE)
+      XGEN_INC_DIR += protocol/2g/sndcp/include \
+                        protocol/nas/sm/include \
+                        protocol/nas_multimode/pam \
+                        protocol/nas_utility/nas_common_utility/include \
+                        protocol/2g/llc/include
+    endif
+  endif
+endif
+
+XGEN_INC_DIR += protocol/nas_multimode/nas_sv/include
+XGEN_INC_DIR += protocol/nas_multimode/tftlib
+XGEN_INC_DIR += protocol/nas_multimode/smic/include
+XGEN_INC_DIR += protocol/interface/nas_multimode
+XGEN_INC_DIR += protocol/interface/vgnas/trace
+XGEN_INC_DIR += protocol/interface/vgnas/sms
+XGEN_INC_DIR += protocol/vgnas/vgsm/include
+XGEN_INC_DIR += protocol/vgnas/vgmm/include
+XGEN_INC_DIR += protocol/upds/include
+XGEN_INC_DIR += protocol/interface/as_multimode/5g
+XGEN_INC_DIR += protocol/interface/general/5g
+XGEN_INC_DIR += protocol/vgnas/interface
+XGEN_INC_DIR += protocol/ddm/psilib/include
+XGEN_INC_DIR += protocol/as_multimode/mrs/capability/include
+ifeq ($(strip $(EL2_ARCH_VERSION)),EL2_ARCH_V2)
+  XGEN_INC_DIR += protocol/interface/enl2/el2
+  XGEN_INC_DIR += protocol/interface/enl2/en_common
+else
+  XGEN_INC_DIR += protocol/interface/el2
+endif
+XGEN_INC_DIR += protocol/interface/nas_multimode/upcm
+XGEN_INC_DIR += protocol/interface/ddm
+XGEN_INC_DIR += protocol/interface/agps
+
+XGEN_INC_DIR_FDD += interface/l1/ul1
+XGEN_INC_DIR_TDD += protocol/interface/l1/tdd
+
+ifneq ($(filter __LTE_PHY_TEST__,$(COM_DEFS)),)
+    XGEN_INC_DIR_TDD += $(EL1_FOLDER)/$(strip $(EL1C_MD_VER_FOLDER))/tstm/include
+else
+    XGEN_INC_DIR_TDD += $(EL1_FOLDER)/$(strip $(EL1C_MD_VER_FOLDER))/tstm_meta/include \
+                        $(EL1_FOLDER)/comm/tstm_meta/include
+    XGEN_INC_DIR += l1/el1/el1c_pub/$(strip $(MD_VER_FOLDER))/trc
+endif
+
+XGEN_INC_DIR += interface/service/em/protect \
+                   protocol/nas/cc-ss/cc/include \
+                   protocol/nas/sms/include \
+                   $(strip $(PPP_FOLDER))/include \
+                   protocol/nas_23g/data/include \
+                   protocol/nas_23g/data/l2r/include \
+                   protocol/nas_23g/data/rlp/include \
+                   protocol/nas_23g/data/tdt/include \
+                   protocol/nas_23g/data/t30/include \
+                   protocol/nas_23g/data/fa/include \
+                   protocol/as_utility/mcd/include \
+                   protocol/ircomm/include \
+                   l1/gl1/common \
+                   interface/protocol/gas/include \
+                   interface/l1/ul1 \
+                   interface/service/mdmp \
+                   l1/interface/el1 \
+                   l1/md_sm/common/ul1sm \
+                   l1/ul1/common \
+                   l1/interface/tl1 \
+                   l1/interface/rtb \
+                   protocol/interface/l4 \
+                   protocol/interface/l4misc \
+                   protocol/interface/ims \
+                   protocol/interface/eap \
+                   protocol/interface/asn/rr/include \
+                   protocol/nas_multimode/nwsel/include \
+                   protocol/layer4/l4/include \
+                   protocol/layer4/l4/csm \
+                   protocol/layer4/l4/csm/cc/include \
+                   protocol/layer4/l4/smu/include \
+                   protocol/layer4/l4/smsal/include \
+                   protocol/layer4/l4/tcm/common \
+                   protocol/layer4/l4/rac/common/include \
+                   protocol/layer4/l4/rac/ugrac/include \
+                   protocol/interface/mcd/include \
+                   protocol/layer4/l4/l4c/include/proc \
+                   protocol/layer4/l4/tcm/ugtcm \
+                   protocol/layer4/l4/tcm/etcm/include \
+                   protocol/layer4/l4/tcm/vgtcm/include \
+                   protocol/layer4/l4/tcm/rat_tcm/inc \
+                   protocol/layer4/l4/psdm/include \
+                   protocol/ephy/ephy_rf \
+                   protocol/layer4/sim/include \
+                   ./service/sst/include \
+                   ./service/sst/include \
+                   ./service/kal/common/include \
+                   ./service/kal/lib/mlib/include \
+                   ./middleware/interfaces/local_inc \
+                   driver/audio/med/audio/include \
+                   driver/audio/med/common/include \
+                   interface/l1/ul1/internal \
+                   ./interface/modem/l1/gsm/internal \
+                   l1/interface/el1/el1c/include \
+                   protocol/nas_multimode/gmss/include \
+                   protocol/layer4/l4/l4b/interface \
+                   protocol/layer4/l4/l4b/include \
+                   protocol/layer4/l4/l4b/l4bpwr/include \
+                   protocol/layer4/l4/l4b/l4bnw/include \
+                   protocol/layer4/l4/l4b/l4bsim/include \
+                   protocol/layer4/l4/l4b/l4bpdn/include \
+                   protocol/layer4/l4/l4b/l4bsbp/include \
+                   protocol/layer4/l4/l4b/l4bsms/include \
+                   protocol/layer4/vdm/interface \
+                   protocol/layer4/vdm/common/include \
+                   protocol/layer4/vdm/trk/include \
+                   protocol/layer4/vdm/ads/include \
+                   protocol/layer4/vdm/vcc/include \
+                   l1/interface/mml1/mml1_fwk \
+                   l1/interface/mml1/mml1_lpwr \
+                   protocol/l5/include \
+                   protocol/l5/l5u/include \
+                   protocol/l5/util/include \
+                   protocol/l5/l5io/include \
+                   protocol/l5/l5io/l5ath \
+                   protocol/l5/l5io/l5ath/userdef \
+                   protocol/l5/l5io/l5mipc/include \
+                   $(strip $(PROJDIR))/modem/mipc/include \
+                   interface/protocol/l5/mipc/common \
+                   interface/protocol/l5/mipc/msg \
+                   protocol/l5/l5io/l5mbci/include \
+                   interface/protocol/l1misc \
+                   interface/protocol/l1misc/tasar \
+				   l1/interface/mml1/mml1_endc \
+                   interface/l1/mml1/external/mml1_endc
+                   
+ifneq ($(filter __L5_SUPPORT__,$(strip $(COM_DEFS))),)
+    XGEN_INC_DIR += protocol/l5/atp/include
+else
+    XGEN_INC_DIR += protocol/layer4/atp/include
+endif
+                                      
+ifneq ($(strip $(EUTRAN_MODE_SUPPORT)),NONE)
+  XGEN_INC_DIR += protocol/layer4/l4/rac/erac/include
+endif
+
+ifeq ($(filter BASIC,$(TEST_LOAD_TYPE)),)
+  XGEN_INC_DIR    += $(strip $(UAS_FOLDER))/ul2/rfc2507/include
+endif
+
+ifdef AGPS_SUPPORT
+  ifneq ($(strip $(AGPS_SUPPORT)), NONE)
+    ifeq ($(strip $(AGPS_SUPPORT)), USER_PLANE)
+      XGEN_INC_DIR     += inet_ps/supl/include
+    endif
+    XGEN_INC_DIR += protocol/agps/rrlp/include
+  endif
+endif
+
+
+ifeq ($(filter BASIC UDVT,$(TEST_LOAD_TYPE)),)
+  FLC_LIB_INCLUDE_CONDITION = FALSE
+  ifneq ($(filter __PS_SERVICE__,$(COM_DEFS)),)
+    FLC_LIB_INCLUDE_CONDITION = TRUE
+  endif
+  ifneq ($(strip $(CSD_SUPPORT)),NONE)
+    FLC_LIB_INCLUDE_CONDITION = TRUE
+  endif
+  ifeq ($(strip $(IRDA_SUPPORT)),TRUE)
+    FLC_LIB_INCLUDE_CONDITION = TRUE
+  endif
+  ifneq ($(strip $(TCPIP_SUPPORT)),NONE)
+    FLC_LIB_INCLUDE_CONDITION = TRUE
+  endif
+  ifeq ($(strip $(FLC_LIB_INCLUDE_CONDITION)),TRUE)
+    XGEN_INC_DIR += $(strip $(FLC_FOLDER))/include
+  endif
+endif
+
+
+ifdef GEMINI
+  ifneq ($(strip $(GEMINI)),FALSE)
+    XGEN_INC_DIR += protocol/as_multimode/as_semaphore_utility/include
+  endif
+endif
+
+XGEN_INC_DIR += protocol/as_utility/mcddll/include
+XGEN_INC_DIR += protocol/layer4/l4/dt/include
+XGEN_INC_DIR += inet_ps/ems/include protocol/nas/cc-ss/ss/include
+XGEN_INC_DIR += ./interface/service/kal \
+                 interface/driver/sleep_drv \
+                 interface/l1/md_sm
+
+XGEN_INC_DIR += ${PROJDIR}/nvram_auto_gen
+
+ifeq ($(filter L1S BASIC UDVT,$(TEST_LOAD_TYPE)),)
+  XGEN_INC_DIR += inet_ps/ems/include
+endif
+
+XGEN_INC_DIR    +=  external_mmi/wise/bal/telephony/include \
+                    protocol/interface/asn/asn1lib/include \
+                    l1/gl1/common
+
+ifeq ($(filter L1S BASIC UDVT,$(TEST_LOAD_TYPE)),)
+  ifneq ($(filter __MTK_3G_MRAT_ARCH__,$(strip $(COM_DEFS))),)
+    XGEN_INC_DIR += $(strip $(GAS_FOLDER))/mpal/include
+  endif
+endif
+
+ifeq ($(strip $(TEST_LOAD_TYPE)),L1S)
+  XGEN_INC_DIR += interface/l1/l1s
+endif
+
+ifneq ($(filter $(strip $(PLATFORM)),$(UL1_HS_PLATFORM)),)
+  XGEN_INC_DIR += protocol/ul1/ul1_hs/ul1c \
+                  protocol/ul1/ul1_hs/ul1d \
+                  protocol/ul1/ul1_hs/common \
+                  l1/md_sm/ul1sm \
+                  l1/md_sm/common\ul1sm
+else ifneq ($(filter $(strip $(PLATFORM)),$(UL1_HS_PLUS_PLATFORM)),)
+  XGEN_INC_DIR += l1/ul1/ul1c \
+                  l1/ul1/ul1d \
+                  l1/ul1/ul1d \
+                  l1/ul1/common \
+                  l1/md_sm/ul1sm \
+                  l1/md_sm/common\ul1sm
+endif
+
+ifdef AGPS_SUPPORT
+    ifeq ($(strip $(AGPS_SUPPORT)), CP_AGPS)
+      XGEN_INC_DIR += protocol/agps/ulcs/common/include
+      XGEN_INC_DIR += protocol/agps/ulcs/uagps_up/include
+      XGEN_INC_DIR += protocol/agps/ulcs/uagps_cp/include
+    endif
+    ifeq ($(strip $(AGPS_SUPPORT)), CP_AGPS_AGLONASS)
+      XGEN_INC_DIR += protocol/agps/ulcs/common/include
+      XGEN_INC_DIR += protocol/agps/ulcs/uagps_up/include
+      XGEN_INC_DIR += protocol/agps/ulcs/uagps_cp/include
+    endif
+    ifeq ($(strip $(AGPS_SUPPORT)), CONTROL_PLANE)
+      XGEN_INC_DIR += protocol/agps/ulcs/common/include
+      XGEN_INC_DIR += protocol/agps/ulcs/uagps_up/include
+      XGEN_INC_DIR += protocol/agps/ulcs/uagps_cp/include
+    endif
+    ifeq ($(strip $(AGPS_SUPPORT)), BOTH)
+      XGEN_INC_DIR += protocol/agps/ulcs/common/include
+      XGEN_INC_DIR += protocol/agps/ulcs/uagps_up/include
+      XGEN_INC_DIR += protocol/agps/ulcs/uagps_cp/include
+    endif
+endif
+
+ifneq ($(strip $(LPP_SUPPORT)), NONE)
+  XGEN_INC_DIR += protocol/agps/lpp/include
+endif
+XGEN_INC_DIR += protocol/agps/lppe/include
+XGEN_INC_DIR += protocol/agps/lbs/gnss_tc/inc
+XGEN_INC_DIR += ./interface/ul1interface/internal
+
+#ifeq ($(strip $(IMS_SUPPORT)),TRUE)
+# XGEN_INC_DIR +=./$(strip $(MODEM_FOLDER))/interface/ims
+#endif
+
+ifeq ($(strip $(N3GPP_OFFLOAD_ENABLE)),TRUE)
+  XGEN_INC_DIR += protocol/interface/n3x \
+  				  protocol/n3x/n3sam/interface
+endif
+
+ifeq ($(filter BASIC,$(TEST_LOAD_TYPE)),)
+  ifeq ($(call gt,$(strip $(GPRS_MAX_PDP_SUPPORT)),6),T)
+  else
+    XGEN_INC_DIR     += $(strip $(UAS_FOLDER))/ul2/seq/include
+  endif
+endif
+
+ifeq ($(filter BASIC,$(TEST_LOAD_TYPE)),)
+  XGEN_INC_DIR     += $(strip $(UAS_FOLDER))/ul2/seq/include
+endif
+
+XGEN_INC_DIR += protocol/smt/l1s/dummyps/include/internal
+
+ifeq ($(MPD_SOURCE_4G_BUILD),TRUE)
+  XGEN_INC_DIR += interface/driver/l2copro
+  XGEN_INC_DIR += $(UNIVERSAL_COMMON)/interface/modem
+endif
+
+ifeq ($(strip $(TEST_LOAD_TYPE)),L1S)
+  XGEN_INC_DIR += dummyups/include/internal
+endif
+
+ifneq ($(filter __DHL_V2_ENABLE__,$(COM_DEFS)),) # DHL2.0
+  XGEN_INC_DIR += $(strip $(FIXPATH))/service/dhl/v2/local_inc
+  XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/icd
+  XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/icd/event/vgnas/
+  XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/icd/vgnas/
+  XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/pmc/icd_v2/
+else # DHL1.0
+  XGEN_INC_DIR += $(strip $(FIXPATH))/service/dhl/v1/local_inc
+  XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/icd
+  XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/icd/event/vgnas/
+  XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/icd/vgnas/
+  XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/pmc/icd_v1/
+endif
+
+XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/dhl_sub
+XGEN_INC_DIR += $(strip $(FIXPATH))/custom/service/dhl
+XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/icd
+XGEN_INC_DIR += $(strip $(FIXPATH))/interface/service/icd/event/enas/
+XGEN_INC_DIR += $(strip $(PROJDIR))/modem/icd_ac_gen
+XGEN_INC_DIR += l1/md_sm/l1sm \
+                l1/md_sm/common/l1sm \
+                ./service/sys_svc_sec/inc \
+                driver/sleep_drv/internal/inc \
+                driver/sleep_drv/public/inc \
+                $(strip $(PROJDIR))/modem/eas_asn
+
+XGEN_INC_DIR += interface/driver/dvfs_drv/$(MD_VER_FOLDER) \
+                driver/dvfs_drv/internal/inc/$(MD_VER_FOLDER)
+
+XGEN_INC_DIR += interface/driver/tfwk_drv \
+                driver/tfwk_drv/internal/inc
+
+ifeq ($(MPD_SOURCE_4G_BUILD),TRUE)
+  XGEN_INC_DIR += $(strip $(TSTDIR_SEC))/database/gv \
+                  $(strip $(TSTDIR_SEC))/database/unionTag \
+                  $(BUILD_TSTDIR_SEC)/database/unionTag
+
+  XGEN_INC_DIR += protocol/lte_sec/enas/interface
+  XGEN_INC_DIR += protocol/lte_sec/errc/interface \
+                  protocol/lte_sec/errc/common/include \
+                  protocol/lte_sec/errc/include \
+                  interface/service/icd/errc \
+                  interface/service/icd/event/errc
+endif
+
+XGEN_INC_DIR += $(strip $(TSTDIR))/database/gv \
+                $(strip $(TSTDIR))/database/gv/ext \
+                $(strip $(TSTDIR))/database/unionTag \
+                $(strip $(TSTDIR))/database/unionTag/ext \
+                $(strip $(TSTDIR))/database \
+                $(BUILD_TSTDIR)/database/unionTag \
+                $(BUILD_TSTDIR)/database/unionTag/ext
+XGEN_INC_DIR += ./service/fs/common/include
+XGEN_INC_DIR += driver/sys_drv/cache/inc
+
+XGEN_INC_DIR += interface/protocol/l2_utility/flc2_v2
+XGEN_INC_DIR += interface/protocol/l2_utility/l2_sec_utility
+XGEN_INC_DIR += interface/protocol/3g/src
+XGEN_INC_DIR += protocol/ephy/common
+XGEN_INC_DIR += l1/ul1/common
+#XGEN_INC_DIR += l1/ul1/common
+
+ifdef CMUX_SUPPORT
+  ifeq ($(strip $(CMUX_SUPPORT)),TRUE)
+    ifeq ($(filter L1S BASIC UDVT,$(TEST_LOAD_TYPE)),)
+      # move from Option.mak
+      XGEN_INC_DIR += driver/cmux/include
+    endif
+  endif
+endif
+
+ifeq ($(strip $(RTOS)),MERTOS)
+  XGEN_INC_DIR += ./service/mertos/include
+endif
+  
+ifeq ($(strip $(CUST_CODE)),TC01)
+XGEN_INC_DIR += custom/protocol/common/atci/include
+endif
+
+ifeq ($(strip $(IMS_SUPPORT)),TRUE)
+  XGEN_INC_DIR += protocol/imc/frmk/pub \
+                   protocol/imc/pub \
+                   protocol/imc/sap \
+                   protocol/layer4/sdm/include \
+                   protocol/imc/imcsms/include \
+                   protocol/iwlan/interface \
+                   protocol/interface/iwlan
+endif
+
+XGEN_INC_DIR += l1/interface/ll1
+#fdr_reorg
+XGEN_INC_DIR += protocol/3g/urr \
+                protocol/interface/general
+
+XGEN_INC_DIR += interface/l1/cl1/common \
+                modem/interface/genera \
+                interface/l1/cl1/common \
+                modem/interface/general \
+                interface/protocol/nas_c2k \
+                interface/l1/gl1 \
+                l1/interface/gl1 \
+                protocol/interface/iwlan \
+                protocol/3g/urr/interface/enum \
+                protocol/3g/urr/interface/define \
+                interface/protocol/agps \
+                l1/cl1/interface \
+                modem/c2k/inc \
+                protocol/l2_c2k/hlp \
+                protocol/3g/ul2/ul2_fdd/interface/local_inc \
+                interface/protocol/as_c2k/1xrtt \
+                interface/protocol/as_c2k/common \
+                interface/protocol/as_c2k/evdo \
+                interface/protocol/l2_c2k/common
+XGEN_INC_DIR += interface/protocol/3g/csr
+
+XGEN_INC_DIR_FDD += protocol/3g/interface/uas/uas_fdd/include \
+                    protocol/3g/interface/uas/uas_fdd/enum \
+                    protocol/3g/interface/uas/uas_fdd/include \
+                    protocol/3g/ul2/ul2_fdd/bmc/include \
+                    protocol/3g/ul2/ul2_fdd/common/include \
+                    protocol/3g/ul2/ul2_fdd/umac/include \
+                    protocol/3g/ul2/ul2_fdd/interface/include \
+                    protocol/3g/ul2/ul2_fdd/interface/enum \
+                    protocol/3g/ul2/ul2_fdd/urlc/include \
+                    protocol/3g/interface/ul2/ul2_fdd/include \
+                    protocol/3g/ul2/ul2_fdd/seq/include \
+                    protocol/3g/urr/urr_fdd/cise/include \
+                    protocol/3g/ul2/ul2_fdd/pdcp/include \
+                    protocol/3g/ul2/ul2_fdd/rabm/include \
+                    protocol/3g/urr/urr_fdd/meme/include \
+                    protocol/3g/urr/urr_fdd/rrce/include \
+                    protocol/3g/urr/urr_fdd/dbme/include \
+                    protocol/3g/urr/urr_fdd/ldbme/include \
+                    protocol/3g/urr/urr_fdd/slce/include \
+
+
+XGEN_INC_DIR_TDD += protocol/3g/interface/uas/uas_tdd/enum \
+                    protocol/3g/ul2/ul2_tdd/bmc/include \
+                    protocol/3g/ul2/ul2_tdd/common/include \
+                    protocol/3g/ul2/ul2_tdd/umac/include \
+                    protocol/3g/ul2/ul2_tdd/interface/include \
+                    protocol/3g/ul2/ul2_tdd/interface/enum \
+                    protocol/3g/ul2/ul2_tdd/urlc/include \
+                    protocol/3g/interface/ul2/ul2_tdd/include \
+                    protocol/3g/urr/urr_tdd/cise/include \
+                    protocol/3g/ul2/ul2_tdd/pdcp/include \
+                    protocol/3g/ul2/ul2_tdd/rabm/include \
+                    protocol/3g/urr/urr_tdd/meme/include \
+                    protocol/3g/urr/urr_tdd/rrce/include \
+                    protocol/3g/urr/urr_tdd/dbme/include \
+                    protocol/3g/urr/urr_tdd/ldbme/include \
+                    protocol/3g/interface/uas/uas_tdd/include \
+                    protocol/3g/urr/urr_tdd/slce/include
+
+
+# xgen include path for fdd
+ifeq ($(strip $(XGEN_SWITCH_FDD_TDD)),FDD)
+  XGEN_INC_DIR += $(XGEN_INC_DIR_FDD)
+endif
+# xgen include path for tdd
+ifeq ($(strip $(XGEN_SWITCH_FDD_TDD)),TDD)
+  XGEN_INC_DIR += $(XGEN_INC_DIR_TDD)
+endif
+ifeq ($(strip $(XGEN_SWITCH_FDD_TDD)),NONE)
+  XGEN_INC_DIR += $(XGEN_INC_DIR_FDD) $(XGEN_INC_DIR_TDD)
+endif
+
+#tdd folder for fdd part using. including path order should be care
+XGEN_INC_DIR += protocol/3g/interface/uas/uas_tdd/include
+
+# EL1 CODEGEN PATH
+XGEN_INC_DIR += l1/el1/el1d_pub/comm/inc/amsc \
+                    l1/el1/el1d_pub/comm/inc/cm \
+                    l1/el1/el1d_pub/comm/inc/common \
+                    l1/el1/el1d_pub/comm/inc/fwk \
+                    l1/el1/el1d_pub/comm/inc/cs \
+                    l1/el1/el1d_pub/comm/inc/pos \
+                    l1/el1/el1d_pub/comm/inc/ps \
+                    l1/el1/el1d_pub/comm/inc/rfdfe \
+                    l1/el1/el1d_pub/comm/inc/rfd \
+                    l1/el1/el1d_pub/comm/inc/rfc \
+                    l1/el1/el1d_pub/comm/inc/rxdfe \
+                    l1/el1/el1d_pub/comm/inc/txdfe \
+                    l1/el1/el1d_pub/comm/inc/rx \
+                    l1/el1/el1d_pub/comm/inc/tx \
+                    l1/el1/el1d_pub/comm/inc/agc \
+                    l1/el1/el1d_pub/comm/inc/tpc \
+                    l1/el1/el1d_pub/comm/trc \
+                    l1/el1/el1d_pub \
+                    l1/el1/common \
+                    protocol/lte_sec/common/include \
+                    l1/el2/emac/src \
+                    interface/l1/el1/el1c/include \
+                    interface/l1/idc \
+                    interface/l1/el1/el1c_sec \
+                    l1/lte_sec/interface \
+                    interface/protocol/general \
+                    l1/interface/mml1/mml1_rf_common
+
+XGEN_INC_DIR += protocol/interface/lte \
+                protocol/interface \
+                $(UNIVERSAL_COMMON)/interface/modem \
+                $(UNIVERSAL_COMMON)/interface/modem/mt6297/common/nr/external/custom \
+
+ifeq ($(strip $(EL2_ARCH_VERSION)),EL2_ARCH_V1)
+  XGEN_INC_DIR += protocol/el2/interface
+  XGEN_INC_DIR += protocol/interface/el2
+  XGEN_INC_DIR += protocol/interface/el2/em
+endif
+
+ifeq ($(strip $(EL2_ARCH_VERSION)),EL2_ARCH_V2)
+  XGEN_INC_DIR += protocol/enl2/interface
+  XGEN_INC_DIR += protocol/interface/enl2
+  XGEN_INC_DIR += protocol/interface/enl2/el2/em
+endif
+
+ifneq ($(filter __LTE_PHY_TEST__,$(COM_DEFS)),)
+    XGEN_INC_DIR += $(EL1_FOLDER)/$(strip $(EL1C_MD_VER_FOLDER))/tstm/include
+else
+    XGEN_INC_DIR += $(EL1_FOLDER)/$(strip $(EL1C_MD_VER_FOLDER))/tstm_meta/include \
+                    $(EL1_FOLDER)/comm/tstm_meta/include
+endif
+
+ifeq ($(strip $(LTE_DUMMY_PROTOCOL_ENABLE)),TRUE)
+XGEN_INC_DIR += l1/el1/el1c/comm/l1edps/include/internal \
+                interface/protocol/lte
+endif
+
+ifeq ($(strip $(call Upper,$(UE_SIMULATOR))),TRUE)
+  #LTE UE SIMULATOR
+  ifeq ($(strip $(U4G_ADAPTOR_SUPPORT)),TRUE)
+    XGEN_INC_DIR   += $(strip $(EL1_FOLDER))/intf
+  else
+  #C2K UE SIMULATOR
+    XGEN_INC_DIR   += $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/irt/include    \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/irt/src        \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/common/include \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/interface      \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/csr/include    \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/csr/src        \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/meas/include   \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/meas/src       \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/ch/include     \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/ch/src         \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/idc/src        \
+                      $(strip $(EL1_FOLDER))/comm/idc/include                              \
+                      $(strip $(EL1_FOLDER))/comm/idc/src                                  \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/common/include \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/it/include     \
+                      l1/lte_sec/interface/etmr                                            \
+                      l1/idc/include \
+                      $(UNIVERSAL_COMMON)/interface/modem/mt6297/common/nr/external/custom \
+                      l1/idc/src
+  endif
+else
+  #non UE SIMULATOR
+  XGEN_INC_DIR     += $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/irt/include    \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/irt/src        \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/common/include \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/interface      \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/csr/include    \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/csr/src        \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/meas/include   \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/meas/src       \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/ch/include     \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/ch/src         \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/idc/src        \
+                      $(strip $(EL1_FOLDER))/comm/idc/include                              \
+                      $(strip $(EL1_FOLDER))/comm/idc/src                                  \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/common/include \
+                      $(strip $(EL1_FOLDER))/$(strip $(EL1C_MD_VER_FOLDER))/it/include     \
+                      l1/el1/el1c/$(strip $(EL1C_MD_VER_FOLDER))/common/include            \
+                      l1/idc/include                                                       \
+                      l1/idc/src                                                           \
+                      l1/tl1/tl1itf/inc
+endif
+
+#LTT/UTT/GTEST CODEGEN PATH
+#ifeq ($(strip $(call Upper,$(LTT_ENABLE))),TRUE)
+  XGEN_INC_DIR += protocol/interface/utt
+#endif
+
+# C2K XGEN PATH
+ifneq ($(filter __CL1_TASK_ENABLE__,$(COM_DEFS)),)
+    XGEN_INC_DIR += protocol/interface/as_c2k \
+                      l1/cl1/rfd/external
+endif
+
+
+ifneq ($(strip $(call Upper,$(C2K_MODE_SUPPORT))),NONE)
+  XGEN_INC_DIR += protocol/interface/as_c2k \
+                      l1/cl1/c2k_dma_model \
+                      interface/protocol/l2_c2k/common \
+                      protocol/l2_c2k/fcp \
+                      interface/protocol/l2_c2k/evdo \
+                      protocol/l2_c2k/rcp \
+                      interface/protocol/l2_c2k/evdo \
+                      custom/protocol/l4_c2k \
+                      interface/protocol/l2_c2k/1xrtt \
+                      interface/protocol/as_c2k/1xrtt \
+                      protocol/as_c2k/pe \
+                      protocol/as_c2k/psw \
+                      protocol/nas_c2k/ota \
+                      protocol/l2_c2k/common \
+                      l1/cl1/common \
+                      protocol/l4_c2k/atc \
+                      protocol/l4_c2k/val/rpc \
+                      protocol/l4_c2k/val \
+                      protocol/l4_c2k/uim \
+                      protocol/l2_c2k/lmd \
+                      interface/protocol/l2_c2k/1xrtt \
+                      protocol/as_c2k/clc \
+                      interface/protocol/as_c2k/evdo \
+                      protocol/c2k/sbp \
+                      protocol/as_c2k/slc \
+                      interface/protocol/as_c2k/evdo \
+                      l1/cl1/rmc \
+                      interface/l1/cl1/evdo \
+                      protocol/nas_c2k/css \
+                      protocol/nas_c2k/css/irat \
+                      l1/cl1/hsc \
+                      interface/l1/cl1/common \
+                      l1/cl1/evl1 \
+                      interface/l1/cl1/evdo \
+                      l1/cl1/common \
+                      interface/l1/cl1/common \
+                      interface/l1/cl1/common \
+                      interface/l1/cl1/common \
+                      interface/l1/cl1/common/HW \
+                      l1/cl1/xl1 \
+                      interface/l1/cl1/1xrtt \
+                      l1/cl1/l1d \
+                      interface/l1/cl1/1xrtt \
+                      l1/cl1/tas \
+                      l1/cl1/rfd/external
+
+  XGEN_INC_DIR += protocol/smt/c2k/vmmi_bridge/intf
+endif
+
+XGEN_INC_DIR += interface/driver/devdrv/busmpu
+XGEN_INC_DIR += interface/l1/mml1/external/mml1_cdf/inc/common  \
+                interface/l1/mml1/external/mml1_rf/mmrf_common  \
+		    interface/l1/mml1/external/mml1_cdf/inc/sku_mgr  \
+		    interface/l1/mml1/external/mml1_cdf/device_mgr \
+		    interface/l1/mml1/external/mml1_cdf/inc/device_drivers_rf \
+		    interface/l1/mml1/external/mml1_cdf/inc/device_drivers_fe \
+		    custom/l1/mml1_devices/$(strip $(MM_DEVICE)) \
+                    l1/interface/mml1/mml1_cdf/common \
+                    l1/interface/mml1/mml1_cdf/sku_mgr \
+                    l1/interface/mml1/mml1_cdf/seq_container \
+                    l1/interface/mml1/mml1_cdf/device_drivers_rf \
+                    l1/interface/mml1/mml1_cdf/device_drivers_fe
+XGEN_INC_DIR += protocol/wo/interface
+
+ifeq ($(strip $(FIVEG_MODE_SUPPORT)),FIVEG_MODE)
+  XGEN_INC_DIR += protocol/enl2/common/enl2_free/src \
+                  protocol/enl2/pdcp/common/src \
+                  protocol/enl2/pdcp/npdcp/src \
+                  $(strip $(PROJDIR))/modem/nras_asn \
+                  protocol/interface/enl2/nl2/5g \
+                  protocol/interface/nrrc \
+                  protocol/interface/2g/5g \
+                  protocol/interface/3g/urr/5g \
+                  protocol/interface/errc/5g \
+                  protocol/interface/nas_multimode/5g \
+                  protocol/interface/enas/5g \
+                  protocol/interface/lte_sec/5g \
+                  protocol/interface/vgnas/5g \
+                  protocol/interface/lte_sec/5g \
+                  protocol/vgnas/interface \
+                  protocol/enl2/interface/5g \
+                  protocol/enl2/mac/nmac/interface \
+                  protocol/enl2/mac/nmac/nmac_dl/include \
+                  protocol/enl2/rlc/nrlc/nrlcul/include \
+                  protocol/enl2/rlc/nrlc/interface/5g \
+                  protocol/enl2/rlc/nrlc/common/include \
+                  interface/protocol/enl2/5g
+
+  XGEN_INC_DIR += protocol/nrrc/interface \
+                  protocol/nrrc/config/include \
+                  protocol/nrrc/nconn/include \
+                  protocol/nrrc/idle/include \
+                  protocol/nrrc/main/include \
+                  protocol/nrrc/meas/include \
+                  protocol/nrrc/background/include \
+                  protocol/nrrc/scg/include \
+                  protocol/nrrc/search/include \
+                  protocol/nrrc/si/include \
+                  protocol/nrrc/utility/include \
+                  protocol/interface/vgnas/5g \
+                  protocol/interface/vgnas \
+                  interface/l1/nl1/external/5g \
+                  $(UNIVERSAL_COMMON)/interface/modem/mt6297/common/nr/external/5g \
+                  $(UNIVERSAL_COMMON)/interface/modem/mt6297/common/nr/external \
+                  $(UNIVERSAL_COMMON)/interface/modem/mt6297/common/nr/internal \
+                  $(UNIVERSAL_COMMON)/interface/modem/mt6297/common/nr/external/custom \
+                  interface/l1/nl1/external/4g \
+                  interface/l1/nl1
+endif
+
+ifeq ($(strip $(EL2_ARCH_VERSION)),EL2_ARCH_V2)
+  ifeq ($(strip $(EUTRAN_MODE_SUPPORT)), EUTRAN_MODE)
+    XGEN_INC_DIR += protocol/interface/enl2/en_common \
+                    protocol/enl2/interface/sim_api \
+                    driver/lhifcore/include \
+                    driver/dpcopro/inc \
+                    interface/service/prbm \
+                    protocol/enl2/interface/icd \
+                    protocol/enl2/interface/msg
+  else
+    ifeq ($(strip $(FIVEG_MODE_SUPPORT)),FIVEG_MODE)
+      XGEN_INC_DIR += protocol/interface/enl2/en_common \
+                      protocol/enl2/interface/sim_api \
+                      driver/lhifcore/include \
+                      driver/dpcopro/inc \
+                      interface/service/prbm \
+                      protocol/enl2/interface/icd \
+                      protocol/enl2/interface/msg
+    endif
+  endif
+endif
+
+# NL1 CODEGEN PATH
+ifeq ($(strip $(FIVEG_MODE_SUPPORT)),FIVEG_MODE)
+  XGEN_INC_DIR +=  l1/nl1/public/md97/inc/tx \
+                   l1/nl1/public/md97/inc/rx \
+                   l1/nl1/public/md97/inc/interface/rx \
+                   l1/nl1/public/md97/inc/interface/fwk \
+                   l1/nl1/public/md97/inc/interface/ctrl \
+                   l1/nl1/public/md97/inc/interface/tst \
+                   l1/nl1/public/md97/inc/ctrl \
+                   l1/nl1/public/md97/inc/bm \
+                   l1/nl1/public/md97/inc/interface/bm \
+                   l1/nl1/public/md97/inc/mpc/comm \
+                   l1/nl1/public/md97/inc/mpc/mob \
+                   l1/nl1/public/md97/inc/rfcc/lib \
+                   l1/nl1/public/md97/inc/interface/comm \
+                   l1/nl1/public/md97/inc/interface/hrt \
+                   l1/nl1/public/md97/inc/interface/lpwr \
+                   l1/nl1/public/md97/inc/interface/tc \
+                   l1/nl1/public/md97/inc/hrt \
+                   l1/interface/nl1 \
+                   l1/interface/ll1 \
+                   interface/l1/nl1 \
+                   $(UNIVERSAL_COMMON)/interface/modem/mt6297/CSIF/slm/nr/ \
+                   $(UNIVERSAL_COMMON)/interface/modem/mt6297/CSIF/slm/nr/cmd/inc \
+                   $(UNIVERSAL_COMMON)/interface/modem/mt6297/CSIF/slm/nr/rpt/inc
+endif
+
+
+XGEN_INC_DIR_TARGET := $(XGEN_INC_DIR)
+
+ifeq ($(strip $(MODIS_CONFIG)),TRUE)
+  ifeq ($(MPD_SOURCE_4G_BUILD),TRUE)
+    XGEN_INC_DIR += $(strip $(TSTDIR_SEC))/database_modis/gv \
+                    $(strip $(TSTDIR_SEC))/database_modis/unionTag \
+                    $(BUILD_TSTDIR_SEC)/database_modis/unionTag
+  endif
+  XGEN_INC_DIR += $(strip $(TSTDIR))/database_modis/gv \
+                  $(strip $(TSTDIR))/database_modis/gv/ext \
+                  $(strip $(TSTDIR))/database_modis/unionTag \
+                  $(strip $(TSTDIR))/database_modis/unionTag/ext \
+                  $(BUILD_TSTDIR)/database_modis/unionTag \
+                  $(BUILD_TSTDIR)/database_modis/unionTag/ext \
+                  $(BUILD_TSTDIR)/database_modis/converted_icd_headers
+  XGEN_INC_DIR += protocol/as_multimode/ratdm/cmn_sig/include
+  XGEN_INC_DIR := $(MODISPROJDIR)/_BUILD_XGEN/modem/eas_asn \
+                  $(XGEN_INC_DIR)
+
+  ifeq ($(strip $(FIVEG_MODE_SUPPORT)),FIVEG_MODE)
+    ifeq ($(strip $(MODIS_COMPILER)),VC2017)
+      XGEN_INC_DIR += interface/protocol/utt_v2
+    else
+      ifeq ($(strip $(call uc,$(OS_VERSION))),LINUX)
+        XGEN_INC_DIR += interface/protocol/utt_v2
+      else
+        XGEN_INC_DIR += interface/protocol/utt
+      endif
+    endif
+  endif
+endif
+
+ifdef MCIF_SUPPORT
+  ifeq ($(strip $(MCIF_SUPPORT)),TRUE)
+    XGEN_INC_DIR += interface/service/mcif
+  endif
+endif
+XGEN_INC_DIR += interface/service/mdfpm
+
+ifdef SUBMARINE_SUPPORT
+  ifeq ($(strip $(SUBMARINE_SUPPORT)),TRUE)
+    XGEN_INC_DIR += interface/service/wifi_proxy
+  endif
+endif
+
+ifdef WIFIPROXY_SUPPORT
+  ifeq ($(strip $(WIFIPROXY_SUPPORT)), TRUE)
+    XGEN_INC_DIR += interface/service/wifi_proxy
+  endif
+endif
+
+XGEN_INC_DIR += interface/service/mtf