[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/make/module/driver/system/sys_drv.mak b/mcu/make/module/driver/system/sys_drv.mak
new file mode 100644
index 0000000..ffda28e
--- /dev/null
+++ b/mcu/make/module/driver/system/sys_drv.mak
@@ -0,0 +1,420 @@
+##############################################################
+# Define bootloader folder path
+##############################################################
+
+ifneq ($(filter MT6297_IA, $(strip $(MODULE_DEFS))),)
+    MD_VER_FOLDER = md97
+endif
+
+# Define source file lists to SRC_LIST
+SRC_LIST =driver/sys_drv/init/src/$(MD_VER_FOLDER)/idle_task.c \
+                    driver/sys_drv/dormant/src/$(MD_VER_FOLDER)/dormant_service.c
+# driver/sys_drv/init/src/info.c
+# driver/sys_drv/init/src/nfb_loader.c \
+
+ifeq ($(strip $(ESL_COSIM_LTE)),FALSE)
+  ifeq ($(strip $(COMPILER)),GCC)
+        CFLAGS += -Werror
+  endif
+endif
+
+ifneq ($(strip $(MD_VER_FOLDER)),md93)
+    SRC_LIST += driver/sys_drv/sfu/src/$(MD_VER_FOLDER)/drv_sfu.c
+    SRC_LIST += driver/sys_drv/spu/src/$(MD_VER_FOLDER)/drv_spu.c
+endif
+
+ifneq ($(filter __MTK_TARGET__, $(strip $(MODULE_DEFS))),)
+ifeq ($(filter BASIC,$(TEST_LOAD_TYPE)),)
+ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
+    ifeq ($(strip $(DHL_SUPPORT)),TRUE)
+      SRC_LIST += $(strip $(CUS_MTK_REL))/dhl/l1trace/spu_trace_utmd.c
+    else
+      SRC_LIST += $(strip $(CUS_MTK_REL))/tst/l1trace/spu_trace_utmd.c
+    endif   
+else
+  SRC_LIST += $(strip $(CGEN_L1_OUTDIR))/spu_trace_utmd.c
+endif
+endif
+endif
+
+#ifneq ($(filter __DSP_FCORE4__, $(strip $(MODULE_DEFS))),)
+# SRC_LIST += driver/sys_drv/init/src/dmdsp_init.c
+#endif
+
+ifneq ($(filter __LP_SCHEDULE_ENABLE__, $(strip $(MODULE_DEFS))),)
+      SRC_LIST += driver/sys_drv/task_agent/src/tg_hisr.c
+endif
+
+ifneq ($(filter __SMART_PHONE_MODEM__ , $(strip $(MODULE_DEFS))),)
+# SRC_LIST += driver/sys_drv/emi/src/emimpu.c
+endif
+
+ifeq ($(filter __SMART_PHONE_MODEM__, $(strip $(MODULE_DEFS))),)
+# SRC_LIST += driver/sys_drv/emi/src/emi.c
+else
+# SRC_LIST += driver/sys_drv/emi/src/emi.c
+endif
+
+ifneq ($(filter __MTK_TARGET__, $(strip $(MODULE_DEFS))),)
+  ifneq ($(filter __DSP_FCORE4__, $(strip $(MODULE_DEFS))),)
+      SRC_LIST += driver/sys_drv/ipc/src/mdci.c
+  endif
+endif
+
+ifneq ($(filter __MTK_TARGET__, $(strip $(MODULE_DEFS))),)
+      #SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init.c
+      #SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_comm.c
+      #SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_trc.c
+      #SRC_LIST += driver/sys_drv/init/src/boot_cert_pattern.c
+endif
+
+ifeq ($(strip $(COMPILER)), GCC)
+  ifneq ($(filter __MTK_TARGET__, $(strip $(MODULE_DEFS))),)
+    ifeq ($(strip $(MD_VER_FOLDER)),md93)
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_gpr.S
+    endif
+    ifeq ($(strip $(MD_VER_FOLDER)),md97)
+      ifeq ($(filter MT6297_IA, $(strip $(MODULE_DEFS))),)
+         SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_vpe0.S
+         SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_vpe2.S
+         SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_tc.S
+      endif
+      SRC_LIST += driver/sys_drv/cache/src/$(MD_VER_FOLDER)/cache_dpdl2.c
+    endif
+    ifeq ($(strip $(MD_VER_FOLDER)),md97p)
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_vpe0.S
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_vpe2.S
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_tc.S
+    endif
+    
+    ifneq ($(filter MT6297_IA, $(strip $(MODULE_DEFS))),)
+      SRC_LIST += driver/sys_drv/init/src/md97ia/bootarm_gcc.S
+      SRC_LIST += driver/sys_drv/init/src/md97ia/stack_init.S
+      SRC_LIST += driver/sys_drv/init/src/md97ia/init_vpe1.S
+      SRC_LIST += driver/sys_drv/init/src/md97ia/init_cm.S
+      SRC_LIST += driver/sys_drv/init/src/md97ia/join_domain.S
+      SRC_LIST += driver/sys_drv/init/src/md97ia/init.c
+      SRC_LIST += driver/sys_drv/init/src/md97ia/init_comm.c
+      SRC_LIST += driver/sys_drv/init/src/md97ia/init_trc.c
+      SRC_LIST += driver/sys_drv/cache/src/md95/l1caches.S
+      SRC_LIST += driver/sys_drv/cache/src/md95/l2cache.S
+      SRC_LIST += driver/sys_drv/cache/src/md95/cache.c
+      SRC_LIST += driver/sys_drv/cache/src/md95/cache_util.c
+    else
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/bootarm_gcc.S
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/stack_init.S
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_vpe1.S
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_cm.S
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/join_domain.S
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init.c
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_comm.c
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/init_trc.c
+      SRC_LIST += driver/sys_drv/cache/src/$(MD_VER_FOLDER)/l1caches.S
+      SRC_LIST += driver/sys_drv/cache/src/$(MD_VER_FOLDER)/l2cache.S
+      SRC_LIST += driver/sys_drv/cache/src/$(MD_VER_FOLDER)/cache.c
+      SRC_LIST += driver/sys_drv/cache/src/$(MD_VER_FOLDER)/cache_util.c
+      ifeq ($(strip $(MD_VER_FOLDER)),md93)
+        #No idle_service.c
+      else
+        ifeq ($(strip $(MD_VER_FOLDER)),md95)
+          #No idle_service.c
+        else
+          SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/idle_service.c
+        endif  
+      endif
+    endif
+    #SRC_LIST += driver/sys_drv/init/src/set_gpr_boot_values.S
+    #SRC_LIST += driver/sys_drv/init/common/copy_c2_ram.S
+    #SRC_LIST += driver/sys_drv/init/common/init_caches.S
+    #SRC_LIST += driver/sys_drv/init/common/init_cp0.S
+    #SRC_LIST += driver/sys_drv/init/common/init_itc.S
+    #SRC_LIST += driver/sys_drv/init/common/init_L2_CM3.S
+    #SRC_LIST += driver/sys_drv/init/common/init_L23caches.S
+    #SRC_LIST += driver/sys_drv/init/common/init_segmentation.S
+    #SRC_LIST += driver/sys_drv/init/src/release_mp.S
+    #SRC_LIST += driver/sys_drv/init/common/init_CoreFPGA6_mem.S
+    #SRC_LIST += driver/sys_drv/init/common/init_caches2.S
+    #SRC_LIST += driver/sys_drv/cache/src/init_l1caches.S
+    #SRC_LIST += driver/sys_drv/init/common/init_L2_CM2.S
+    #SRC_LIST += driver/sys_drv/cache/src/$(MD_VER_FOLDER)/l1caches.S
+    #SRC_LIST += driver/sys_drv/cache/src/$(MD_VER_FOLDER)/l2cache.S
+    SRC_LIST += driver/sys_drv/hw_itc/src/hw_itc.c
+    SRC_LIST += driver/sys_drv/hw_itc/src/hw_itc_init.S
+    SRC_LIST += driver/sys_drv/cache/src/cm2_drv.c
+    SRC_LIST += driver/sys_drv/mpu/src/$(MD_VER_FOLDER)/mpu.c
+    SRC_LIST += driver/sys_drv/dormant/src/$(MD_VER_FOLDER)/interAptiv-dormantMode_gcc.S
+  endif
+
+else  # RVCT
+  SRC_LIST += driver/sys_drv/cache/src/cp15_rvct.S
+  ifneq ($(filter __MTK_TARGET__, $(strip $(MODULE_DEFS))),)
+    SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/bootarm_rvct.S
+  endif
+endif
+
+ifneq ($(filter __ARM9_MMU__, $(strip $(MODULE_DEFS))),)
+      SRC_LIST += driver/sys_drv/cache/src/mmu.c
+endif
+
+ifneq ($(filter __ARM11_MMU__, $(strip $(MODULE_DEFS))),)
+      SRC_LIST += driver/sys_drv/cache/src/mmu.c
+endif
+
+ifneq ($(filter __CR4__, $(strip $(MODULE_DEFS))),)
+      SRC_LIST += driver/sys_drv/cache/src/mpu.c
+endif
+
+ifneq ($(filter __MIPS_IA__, $(strip $(MODULE_DEFS))),)
+      SRC_LIST += driver/sys_drv/pmu/src/$(MD_VER_FOLDER)/mips_ia_pmu_montr.c
+      SRC_LIST += driver/sys_drv/pmu/src/$(MD_VER_FOLDER)/mips_ia_cm_pmu.c
+      SRC_LIST += driver/sys_drv/pmu/src/$(MD_VER_FOLDER)/mips_ia_cm_pmu_service.c
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/mips_ia_utils.c
+
+      MIPS_IA_MR1_SRC_LIST := driver/sys_drv/init/src/md93/mips_ia_mr1_utils.c
+      MIPS_IA_MR2_SRC_LIST := driver/sys_drv/init/src/md93/mips_ia_mr2_utils.c
+      MIPS_IA_MR3_SRC_LIST := driver/sys_drv/init/src/md95/mips_ia_mr3_utils.c\
+           driver/sys_drv/pmu/src/md95/mips_ia_icm_pmu.c
+
+      MIPS_IA_MR_VERSION_MT6763:=MR2
+      MIPS_IA_MR_VERSION_MT6739:=MR2
+      MIPS_IA_MR_VERSION_MT6771:=MR2
+      MIPS_IA_MR_VERSION_MT6765:=MR2
+      MIPS_IA_MR_VERSION_MT6295M:=MR3
+      MIPS_IA_MR_VERSION_MT3967:=MR3
+      MIPS_IA_MR_VERSION_MT6785:=MR3
+      MIPS_IA_MR_VERSION_GEN_md92:=MR1
+      MIPS_IA_MR_VERSION_GEN_md93:=MR2
+      MIPS_IA_MR_VERSION_GEN_md95:=MR3
+      # check platform first
+      MIPS_IA_MR_VERSION:=$(MIPS_IA_MR_VERSION_$(strip ${PLATFORM}))
+      # if no platform, check generation
+      MIPS_IA_MR_VERSION:=$(if ${MIPS_IA_MR_VERSION}, ${MIPS_IA_MR_VERSION}, $(MIPS_IA_MR_VERSION_GEN_$(strip ${MD_VER_FOLDER})))
+      # otherwise, use default setting
+      MIPS_IA_MR_VERSION:=$(if ${MIPS_IA_MR_VERSION}, ${MIPS_IA_MR_VERSION}, MR2)
+
+      MIPS_IA_MR_SRC_LIST:=$(MIPS_IA_$(strip ${MIPS_IA_MR_VERSION})_SRC_LIST)
+      SRC_LIST +=   ${MIPS_IA_MR_SRC_LIST}
+
+mips_ia_pmu_montr.obj: CFLAGS += -minline-intermix
+
+else
+# For I7200
+      SRC_LIST += driver/sys_drv/pmu/src/$(MD_VER_FOLDER)/mdmcu_core_pmu.c
+      SRC_LIST += driver/sys_drv/pmu/src/$(MD_VER_FOLDER)/mdmcu_l2_pmu.c
+      SRC_LIST += driver/sys_drv/pmu/src/$(MD_VER_FOLDER)/mdmcu_pmu_drv.c
+      SRC_LIST += driver/sys_drv/pmu/src/$(MD_VER_FOLDER)/mdmcu_pmu_srv.c
+      SRC_LIST += driver/sys_drv/pmu/src/$(MD_VER_FOLDER)/mdmcu_pmu_cfg.c
+
+      SRC_LIST += driver/sys_drv/init/src/$(MD_VER_FOLDER)/mdmcu_init.c
+endif
+
+ifneq ($(filter __MTK_MMU_V2__, $(strip $(MODULE_DEFS))),)
+      SRC_LIST += driver/sys_drv/cache/src/mpu_mtk_mmu_v2_int.c
+endif
+
+
+###################################################################
+# Define include path lists to INC_DIR
+INC_DIR = ./service/sst/include \
+          ./service/sst/include \
+          $(strip $(PROJDIR))/verno \
+          ./service/sss/interface/inc \
+          driver/peripheral/inc \
+          driver/storage/flash/fdm/inc \
+          driver/sys_drv/mpu/inc/$(MD_VER_FOLDER) \
+          driver/sys_drv/init/inc \
+          interface/driver/sys_drv \
+          interface/driver/devdrv/pcmon \
+          driver/sys_drv/cache/inc \
+          driver/sys_drv/mmu/inc \
+          driver/sys_drv/pmu/inc \
+          driver/sys_drv/pmu/inc/$(MD_VER_FOLDER) \
+          ./service/sys_svc/region/inc \
+          ./service/sys_svc/excep_hdlr/inc \
+          ./service/sys_svc/gfh/public \
+          ./service/sys_svc/profile/inc \
+          ./service/sys_svc/dspfm_lte/inc \
+          driver/devdrv/emi/inc \
+          driver/devdrv/iomux/inc \
+          driver/devdrv/cfgctl/inc \
+          driver/devdrv/pms/inc \
+          driver/sys_drv/dormant/inc/$(MD_VER_FOLDER) \
+          driver/sys_drv/dormant/src/$(MD_VER_FOLDER) \
+          ./interface/service/sys_svc \
+          ./interface/service/sst \
+          ./interface/service/dhl \
+          driver/sys_drv/hw_itc/inc \
+          interface/driver/devdrv/mdipc \
+          interface/driver/devdrv/busmpu \
+          interface/driver/regbase \
+          interface/driver/devdrv/ect \
+          driver/devdrv/rstctl/inc \
+          driver/sleep_drv/internal/inc \
+          interface/driver/che \
+          driver/devdrv/elm/inc \
+          interface/driver/sib_drv/scc 
+ifneq ($(filter MT6297_IA, $(strip $(MODULE_DEFS))),)
+    INC_DIR += driver/devdrv/cirq/md97/inc \
+          driver/devdrv/bus/md97/inc \
+      driver/sys_drv/init/inc/md97ia\
+      driver/sys_drv/cache/inc/md95 
+else
+    INC_DIR += driver/devdrv/cirq/$(MD_VER_FOLDER)/inc \
+          driver/devdrv/bus/$(MD_VER_FOLDER)/inc \
+      driver/sys_drv/init/inc/$(MD_VER_FOLDER)\
+          driver/sys_drv/cache/inc/$(MD_VER_FOLDER)     
+endif
+      
+ifneq ($(filter __CACHE_TEST__, $(strip $(MODULE_DEFS))),)
+    SRC_LIST += driver/sys_drv/cache/src/cachetest/cachetest.c
+    INC_DIR += driver/sys_drv/cache/src/cachetest
+    ifeq ($(strip $(MD_VER_FOLDER)),md97)
+      SRC_LIST += driver/sys_drv/cache/src/$(MD_VER_FOLDER)/drvtest_cache_dpdl2.c
+    endif
+endif
+
+ifneq ($(strip $(MD_VER_FOLDER)),md93)
+ifneq ($(filter MT6297_IA, $(strip $(MODULE_DEFS))),)
+    INC_DIR += driver/sys_drv/sfu/inc/md95
+    INC_DIR += driver/sys_drv/spu/inc/md97
+else
+    INC_DIR += driver/sys_drv/sfu/inc/$(MD_VER_FOLDER)
+    INC_DIR += driver/sys_drv/spu/inc/$(MD_VER_FOLDER)
+endif
+endif
+# solution for 93/95 co-codebase re-arch for R3 auto-sync to UMOLYA TRUNK
+ifneq ($(wildcard interface/driver/dvfs_drv),)
+    INC_DIR += interface/driver/dvfs_drv/$(MD_VER_FOLDER)
+else
+    INC_DIR += driver/sleep_drv/public/inc
+endif
+
+ifneq ($(wildcard interface/driver/tfwk_drv),)
+    INC_DIR += interface/driver/tfwk_drv
+endif
+
+ifndef __MAUI_BASIC__
+    INC_DIR += interface/l1/mml1/external
+endif
+
+ifneq ($(filter __ESL_COSIM_LTE__, $(strip $(MODULE_DEFS))),)
+    INC_DIR += driver/devdrv/hsl/inc
+endif
+
+L1_UTMD_FILES += driver/sys_drv/spu/src/spu_trace_utmd.json
+INC_DIR += $(strip $(COMP_L1_TRC_DIR))
+###################################################################
+# Define the specified compile options to COMP_DEFS
+COMP_DEFS = APCS_INTWORK
+
+COMP_DEFS += $(strip $(PLATFORM))
+
+COMP_DEFS  += CACHE_FLUSH_IN_DORMANT=1
+
+ifeq ($(strip $(ENHANCED_SINGLE_BANK_NOR_FLASH_SUPPORT)),TRUE)
+  COMP_DEFS += SINGLE_BANK_SUPPORT
+endif
+
+ifeq ($(TS_PROFILING),TRUE)
+    COMP_DEFS   +=  __TIME_STAMP__\
+                    __TIME_STAMP_UTIL__\
+                    __TIME_STAMP_TDMA_TIMER__\
+                    __TIME_STAMP_FORCE_ENABLE__
+endif
+
+ifeq ($(strip $(call Upper,$(UE_SIMULATOR))),TRUE)
+    COMP_DEFS   +=  L1_SIM
+endif
+
+ifeq ($(strip $(TEST_LOAD_TYPE)),BASIC)
+  INC_DIR += ./interface/service/hif \
+    ./interface/service/hif
+endif
+
+ifneq ($(strip $(filter __ESL_ENABLE__,$(MODULE_DEFS))),)
+  SRC_LIST += driver/sys_drv/esl/src/esl_profile.c
+  ifeq ($(strip $(MD_VER_FOLDER)),md97)
+    SRC_LIST += driver/sys_drv/esl/src/md97_esl_test.c
+  else
+    SRC_LIST += driver/sys_drv/esl/src/esl_test.c
+  endif 
+  ifneq ($(strip $(MD_VER_FOLDER)),md97)
+    SRC_LIST += driver/sys_drv/esl/src/esl_dspr2.c
+    SRC_LIST += driver/sys_drv/init/$(MD_VER_FOLDER)/src/release_mp.S
+  endif
+  INC_DIR += driver/sys_drv/esl/inc
+endif
+
+ifneq ($(strip $(filter __SPV_UFPS_LOAD__,$(MODULE_DEFS))),)
+  INC_DIR += driver/sys_drv/esl/inc
+  SRC_LIST += driver/sys_drv/esl/src/esl_profile.c
+  ifeq ($(strip $(MD_VER_FOLDER)),md97)
+    SRC_LIST += driver/sys_drv/esl/src/md97_esl_test.c
+  else
+    SRC_LIST += driver/sys_drv/esl/src/esl_profile.c
+    SRC_LIST += driver/sys_drv/esl/src/spv_test.c
+    SRC_LIST += driver/sys_drv/esl/src/esl_dspr2.c
+    INC_DIR += driver/devdrv/elm/inc
+  endif
+endif
+
+ifneq ($(strip $(filter __ESL_BENCHMARK_COREMARK__,$(MODULE_DEFS))),)
+    SRC_LIST += driver/sys_drv/esl/src/coremark/core_list_join.c
+    SRC_LIST += driver/sys_drv/esl/src/coremark/core_main.c
+    SRC_LIST += driver/sys_drv/esl/src/coremark/core_matrix.c
+    SRC_LIST += driver/sys_drv/esl/src/coremark/core_state.c
+    SRC_LIST += driver/sys_drv/esl/src/coremark/core_util.c
+    SRC_LIST += driver/sys_drv/esl/src/coremark/barebones/core_portme.c
+    SRC_LIST += driver/sys_drv/esl/src/coremark/barebones/cvt.c
+    SRC_LIST += driver/sys_drv/esl/src/coremark/barebones/ee_printf.c
+    INC_DIR += driver/sys_drv/esl/src/coremark
+    INC_DIR += driver/sys_drv/esl/src/coremark/barebones
+
+    %/core_list_join.obj: CFLAGS := -Wall -O3 -funroll-all-loops -falign-jumps=16 -falign-functions=16 -fgcse-sm -fgcse-las -finline-functions -finline-limit=1000 -msoft-float -mtune=i7200 -march=32r6 -mno-imadd -save-temps -fdollars-in-identifiers
+    %/core_main.obj:      CFLAGS := -Wall -O3 -funroll-all-loops -falign-jumps=16 -falign-functions=16 -fgcse-sm -fgcse-las -finline-functions -finline-limit=1000 -msoft-float -mtune=i7200 -march=32r6 -mno-imadd -save-temps -fdollars-in-identifiers
+    %/core_matrix.obj:    CFLAGS := -Wall -O3 -funroll-all-loops -falign-jumps=16 -falign-functions=16 -fgcse-sm -fgcse-las -finline-functions -finline-limit=1000 -msoft-float -mtune=i7200 -march=32r6 -mno-imadd -save-temps -fdollars-in-identifiers
+    %/core_state.obj:     CFLAGS := -Wall -O3 -funroll-all-loops -falign-jumps=16 -falign-functions=16 -fgcse-sm -fgcse-las -finline-functions -finline-limit=1000 -msoft-float -mtune=i7200 -march=32r6 -mno-imadd -save-temps -fdollars-in-identifiers
+    %/core_util.obj:      CFLAGS := -Wall -O3 -funroll-all-loops -falign-jumps=16 -falign-functions=16 -fgcse-sm -fgcse-las -finline-functions -finline-limit=1000 -msoft-float -mtune=i7200 -march=32r6 -mno-imadd -save-temps -fdollars-in-identifiers
+    %/core_portme.obj:    CFLAGS := -Wall -O3 -funroll-all-loops -falign-jumps=16 -falign-functions=16 -fgcse-sm -fgcse-las -finline-functions -finline-limit=1000 -msoft-float -mtune=i7200 -march=32r6 -mno-imadd -save-temps -fdollars-in-identifiers
+    %/cvt.obj:            CFLAGS := -Wall -O3 -funroll-all-loops -falign-jumps=16 -falign-functions=16 -fgcse-sm -fgcse-las -finline-functions -finline-limit=1000 -msoft-float -mtune=i7200 -march=32r6 -mno-imadd -save-temps -fdollars-in-identifiers
+    %/ee_printf.obj:      CFLAGS := -Wall -O3 -funroll-all-loops -falign-jumps=16 -falign-functions=16 -fgcse-sm -fgcse-las -finline-functions -finline-limit=1000 -msoft-float -mtune=i7200 -march=32r6 -mno-imadd -save-temps -fdollars-in-identifiers
+
+    TEMPspace :=
+    TEMPspace +=
+    #core_main.obj:      CFLAGS += -DCOMPILER_FLAGS=\"$(subst $(TEMPspace),:,$(filter -f% -m% -E% -O%,$(CFLAGS)))\"
+    %/core_main.obj:      CFLAGS += -DCOMPILER_FLAGS=\"$(subst $(TEMPspace),:,$(filter-out -W% -f%,$(CFLAGS)))\"
+endif
+
+ifneq ($(strip $(filter __ESL_BENCHMARK_DHRYSTONE__,$(MODULE_DEFS))),)
+    SRC_LIST += driver/sys_drv/esl/src/dhrystone/dhry_1.c
+    SRC_LIST += driver/sys_drv/esl/src/dhrystone/dhry_2.c
+    INC_DIR += driver/sys_drv/esl/src/dhrystone
+
+    %/dhry_1.obj:         CFLAGS := $(filter-out -O1 -O2 -O3 -Os -Werror=%,$(CFLAGS)) -O3
+    %/dhry_2.obj:         CFLAGS := $(filter-out -O1 -O2 -O3 -Os -Werror=%,$(CFLAGS)) -O3
+endif
+
+#fdr_reorg
+INC_DIR += interface/service/sbp \
+           interface/protocol/as_c2k/common \
+           custom/protocol/common/ps
+ifneq ($(filter __MIPS_IA__, $(strip $(MODULE_DEFS))),)
+%/esl_test.obj:     CFLAGS += -DDSPR2_TEST
+%/esl_profile.obj:  CFLAGS += -DDSPR2_TEST
+%/esl_dspr2.obj:    CFLAGS += -mdspr2
+%/interAptiv-dormantMode_gcc.obj:   AFLAGS := $(filter-out -mips16 -mips16e2, $(AFLAGS))
+endif
+
+%/bootarm_gcc.obj:                  AFLAGS := $(filter-out -mips16 -mips16e2, $(AFLAGS))
+ifeq ($(strip $(MD_VER_FOLDER)),md95)
+%/init_cm.obj:                      AFLAGS := $(filter-out -mips16 -mips16e2, $(AFLAGS))
+endif
+ifneq ($(filter MT6297_IA, $(strip $(MODULE_DEFS))),)
+ifeq ($(strip $(MD_VER_FOLDER)),md97)
+%/init_cm.obj:                      AFLAGS := $(filter-out -mips16 -mips16e2, $(AFLAGS))
+endif
+endif
+
+ifeq ($(strip $(LTO_BUILD)),TRUE)
+%/dormant_service.obj: CFLAGS := $(filter-out -flto -fno-fat-lto-objects, $(CFLAGS)) 
+endif