📄 gsm2.mak
字号:
TST_GEN_DEP_OUTS = $(strip $(TST_DB))\BPLGUInfoCustomAppSrc
COMP_TRACE_DEFS = $(EXISTED_CUS_REL_TRACE_DEFS)
COMP_TRACE_DEFS += $(NEW_CUS_REL_TRACE_DEFS)
PTR_GEN_OUTS = $(patsubst %.h,%.ptr, $(notdir $(subst \,/,$(COMP_TRACE_DEFS))))
TST_GEN_DEP_STP3_SRCS = $(strip $(TST_DB))\BPLGUInfoCustomAppSrc $(PTR_GEN_OUTS)
TST_GEN_DEP_STP3_OUTS = $(strip $(TST_DB))\$(strip $(BPLGUINFOCUSTOMSRCP))
endif
# Concat module's local preprocessor definition
COMPDEFS = __NULL_DEF__
COMPDEFS += $(foreach COMP,$(COMPLIST),$(shell type make\$(COMP)\$(COMP).def))
#$(warning [$(COMPDEFS)])
# -----------------------------
# Macros definition
# -----------------------------
PURELNKOPT = $(strip $(LNKOPT))
ifeq ($(strip $(COMPILER)),RVCT)
LNKOPT += --largeregions --scatter $(SCATTERFILE) --output $(strip $(TARGDIR))\$(TARGNAME).elf \
--symdefs $(strip $(TARGDIR))\$(TARGNAME).sym \
--list $(strip $(TARGDIR))\$(TARGNAME).lis \
--libpath $(DIR_ARMLIB)
ifeq ($(strip $(USB_DOWNLOAD)),SECURE)
BTLD_LNKOPT = --keep g_BlSecInfo \
--keep g_BlSecureMAC \
--keep g_BlSecureMAC_Size \
--keep g_BlFunc_Table
endif
ifeq ($(strip $(USB_DOWNLOAD)),SECURE)
LNKOPT += --keep g_DummyKeep_Data
endif
ifeq ($(strip $(SECURE_SUPPORT)),TRUE)
LNKOPT += --keep g_secinfo_tail \
--keep g_SEC_RO \
--keep g_FlashToolCfg \
--keep g_SecureMAC_Size \
--keep g_SecureMAC
endif
ifeq ($(strip $(CUST_PARA_SUPPORT)),TRUE)
LNKOPT += --keep g_CustParaCfg \
--keep g_CustParaCfg_Tail
endif
ifeq ($(strip $(NAND_FLASH_BOOTING)),TRUE)
LNKOPT += --keep g_enfb_3rdrom_header
endif
endif
ifeq ($(strip $(COMPILER)),ADS)
LNKOPT += -scatter $(SCATTERFILE) -output $(strip $(TARGDIR))\$(TARGNAME).elf \
-symdefs $(strip $(TARGDIR))\$(TARGNAME).sym \
-list $(strip $(TARGDIR))\$(TARGNAME).lis \
-libpath $(DIR_ARMLIB)
ifeq ($(strip $(USB_DOWNLOAD)),SECURE)
BTLD_LNKOPT = -keep g_BlSecInfo \
-keep g_BlSecureMAC \
-keep g_BlSecureMAC_Size \
-keep g_BlFunc_Table
endif
ifeq ($(strip $(USB_DOWNLOAD)),SECURE)
LNKOPT += -keep g_DummyKeep_Data
endif
ifeq ($(strip $(SECURE_SUPPORT)),TRUE)
LNKOPT += -keep g_secinfo_tail \
-keep g_SEC_RO \
-keep g_FlashToolCfg \
-keep g_SecureMAC_Size \
-keep g_SecureMAC
endif
ifeq ($(strip $(CUST_PARA_SUPPORT)),TRUE)
LNKOPT += -keep g_CustParaCfg \
-keep g_CustParaCfg_Tail
endif
ifeq ($(strip $(NAND_FLASH_BOOTING)),TRUE)
LNKOPT += -keep g_enfb_3rdrom_header
endif
endif
# *************************************************************************
# Target Definitions
# *************************************************************************
ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
ifneq ($(findstring init,$(COMPLIST)),)
INITLIB = $(strip $(COMPLIBDIR))\init.lib
else
INITLIB = $(CUS_MTK_LIB)\init.lib
endif
ifeq ($(strip $(call Upper,$(PROJECT))),UMTS)
ifeq ($(strip $(call Upper,$(L1_3GSOLUTION))),MTK_UL1_FDD)
ifneq ($(findstring init,$(COMPLIST)),)
INITLIB = $(strip $(COMPLIBDIR))\init.lib
else
INITLIB = $(CUS_MTK_LIB)\init.lib
endif
else
ifneq ($(findstring init_ma,$(COMPLIST)),)
INITLIB = $(strip $(COMPLIBDIR))\init_ma.lib
else
INITLIB = $(CUS_MTK_LIB)\init_ma.lib
endif
endif
endif
CUS_REL_MTK_COMP := $(subst image_sensor_sec,,$(CUS_REL_MTK_COMP))
MTK_LIBS = $(foreach COMP,$(CUS_REL_HDR_COMP),$(CUS_MTK_LIB)\$(COMP).lib)
MTK_LIBS += $(foreach COMP,$(CUS_REL_MTK_COMP),$(CUS_MTK_LIB)\$(COMP).lib)
ifeq ($(call Upper,$(strip $(SENSOR_TYPE))),DIRECT)
MTK_LIBS += $(CUS_MTK_LIB)\$(strip $(CMOS_SENSOR))\image_sensor_sec.lib
endif
else
ifneq ($(findstring init,$(COMPLIST)),)
INITLIB = $(strip $(COMPLIBDIR))\init.lib
endif
ifneq ($(findstring init_ma,$(COMPLIST)),)
INITLIB = $(strip $(COMPLIBDIR))\init_ma.lib
endif
MTK_LIBS =
endif
ifeq ($(call Upper,$(PROJECT)),L1S)
ifeq ($(strip $(CUSTOM_RELEASE)),FALSE)
CODEGEN_RESULT = $(strip $(TST_DB))\l1validation_db\BPLVInfo
endif
else
ifeq ($(strip $(SPLIT_SYSTEM)),TRUE)
CODEGEN_RESULT = $(strip $(TST_DB))\BPLGUSplitInfo
else
ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
CODEGEN_RESULT = $(strip $(TST_GEN_DEP_STP3_OUTS)) # used to control which steps will be available in custom release
else
CODEGEN_RESULT = $(strip $(TST_DB))\$(strip $(BPLGUINFOCUSTOM))
endif
endif
endif
ifeq ($(strip $(CUSTOM_RELEASE)),FALSE)
ifneq ($(call Upper,$(strip $(PROJECT))),BASIC)
NEED_RM_TSTDB = TRUE
endif
else
NEED_RM_TSTDB = FALSE
endif
L1TRACE_DB_DIR = $(strip $(TST_DB))\l1trace_db
L1VAL_DB_DIR = $(strip $(TST_DB))\l1validation_db
PSTRACE_DB_DIR = $(strip $(TST_DB))\pstrace_db
GV_DB_DIR = $(strip $(TST_DB))\gv
GV_DB_PARSE_DIR = $(strip $(TST_DB))\gv\gv_db
TMD_GEN_C_H_FILES = $(foreach tmd_file,$(TMD_FILES), $(basename $(tmd_file)).c $(strip $(TSTDIR))\include\$(notdir $(basename $(tmd_file)).h))
GV_FILES = $(shell dir $(strip $(TST_DB))\gv\*.gv /s/b)
#$(error [$(GV_FILES)])
ifeq ($(call Upper,$(PROJECT)),L1S)
L1V_FILES = $(shell dir $(strip $(TST_DB))\l1validation_db\*.l1v /s/b)
#$(error [$(L1V_FILES)])
endif
ifeq ($(strip $(DO_UPDATE_MODULE)),TRUE)
ifeq ($(findstring verno,$(UPDATE_MODS)),)
UPDATE_MODS := $(UPDATE_MODS) verno
endif
COMPLIBLIST = $(foreach comp,$(UPDATE_MODS),$(comp).lib)
else
ifeq ($(strip $(DO_REMAKE_MODULE)),TRUE)
ifeq ($(findstring verno,$(REMAKE_MODS)),)
REMAKE_MODS := $(REMAKE_MODS) verno
endif
COMPLIBLIST = $(foreach comp,$(REMAKE_MODS),$(comp).lib)
else
COMPLIBLIST = $(call sort,$(foreach comp,$(COMPLIST),$(comp).lib))
endif
endif
# either drmadp.lib or custom.lib will run custominfo.pl
# but some project may not have to compile drmadp.lib, so put drmadp.lib first
ifneq ($(findstring drmadp.lib,$(COMPLIBLIST)),)
CUSTOM_EXIST = TRUE
else
CUSTOM_EXIST = FALSE
endif
ifneq ($(findstring custom.lib,$(COMPLIBLIST)),)
CUSTOM_EXIST = TRUE
else
ifneq ($(findstring image_sensor_sec.lib,$(COMPLIBLIST)),)
CUSTOM_EXIST = TRUE
else
CUSTOM_EXIST = FALSE
endif
endif
# Do component module name parsing according to different project combination
# For example, in classb solution, l1 -> l1_classb instead l1,
# but l1_classb should be accepted, too.
ifeq ($(NEED_TRANS_CLASSB),TRUE)
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out l1.lib,$(comp)),$(comp),l1_classb.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out rr.lib,$(comp)),$(comp),rr_classb.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out mm.lib,$(comp)),$(comp),mm_classb.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out l4.lib,$(comp)),$(comp),l4_classb.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out peer.lib,$(comp)),$(comp),peer_classb.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out interface.lib,$(comp)),$(comp),interface_classb.lib))
endif
ifeq ($(NEED_TRANS_UMTS),TRUE)
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out l1.lib,$(comp)),$(comp),l1_classb_umts.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out rr.lib,$(comp)),$(comp),rr_classb_umts.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out mm.lib,$(comp)),$(comp),mm_classb_umts.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out l1_classb.lib,$(comp)),$(comp),l1_classb_umts.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out rr_classb.lib,$(comp)),$(comp),rr_classb_umts.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out mm_classb.lib,$(comp)),$(comp),mm_classb_umts.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out l4.lib,$(comp)),$(comp),l4_classb.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out peer.lib,$(comp)),$(comp),peer_classb.lib))
COMPLIBLIST := $(foreach comp,$(COMPLIBLIST),$(if $(filter-out interface.lib,$(comp)),$(comp),interface_classb.lib))
endif
#$(warning COMPLIBLIST = $(COMPLIBLIST))
ifneq ($(strip $(call Upper,$(REMAKE_MODS))),BOOTLOADER)
ifneq ($(strip $(call Upper,$(REMAKE_MODS))),FOTA)
CHK_COMPLIST = $(foreach comp,$(COMPLIBLIST),$(if $(findstring "$(comp)",$(foreach word,$(COMPLIST),"$(word).lib")),,$(comp) ))
ifneq ($(words $(CHK_COMPLIST)),0)
ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
$(error $(foreach comp,$(CHK_COMPLIST),"$(comp)") NOT in CUS_REL_SRC_COMP or NOT in CUS_REL_PAR_SRC_COMP)
else
$(error $(foreach comp,$(CHK_COMPLIST),"$(comp)") NOT in COMPLIST)
endif
endif
endif
endif
ifeq ($(strip $(DO_UPDATE_MODULE)),TRUE)
COMPSCANLIST = $(UPDATE_MODS)
else
COMPSCANLIST = $(COMPLIST)
endif
ifdef COMPLIST
COM_DEF_PATH = $(foreach mod,$(COMPLIST), \
$(if $($(mod)),$(FIXPATH)\make\$($(mod))\$($(mod)).def,$(FIXPATH)\make\$(mod)\$(mod).def))
endif
# Do component module name parsing according to different project combination
# For example, in classb solution, l1 -> l1_classb instead l1,
# but l1_classb should be accepted, too.
ifeq ($(NEED_TRANS_CLASSB),TRUE)
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out l1,$(comp)),$(comp),$(comp)_classb))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out rr,$(comp)),$(comp),$(comp)_classb))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out mm,$(comp)),$(comp),$(comp)_classb))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out l4,$(comp)),$(comp),$(comp)_classb))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out peer,$(comp)),$(comp),$(comp)_classb))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out interface,$(comp)),$(comp),$(comp)_classb))
endif
#$(warning COMPSCANLIST = $(COMPSCANLIST))
ifeq ($(NEED_TRANS_UMTS),TRUE)
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out l1,$(comp)),$(comp),$(comp)_classb_umts))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out rr,$(comp)),$(comp),$(comp)_classb_umts))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out mm,$(comp)),$(comp),$(comp)_classb_umts))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out l1_classb,$(comp)),$(comp),$(comp)_umts))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out rr_classb,$(comp)),$(comp),$(comp)_umts))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out mm_classb,$(comp)),$(comp),$(comp)_umts))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out l4,$(comp)),$(comp),$(comp)_classb))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out peer,$(comp)),$(comp),$(comp)_classb))
COMPSCANLIST := $(foreach comp,$(COMPSCANLIST),$(if $(filter-out interface,$(comp)),$(comp),$(comp)_classb))
endif
COMP_DEP_LIST = $(foreach comp,$(COMPSCANLIST),$(comp).dep)
# copy mmi_features_switch.h & CustMiscData.c will be used when CUSTOM_RELEASE == FALSE
# 1. MMI_VERSION != (PLUTO_MMI | NEPTUNE_MMI) ............................. MP is in our site => CUSTOMER_MMI
# 2. MMI_VERSION == (PLUTO_MMI | NEPTUNE_MMI) & EMPTY_RESOURCE == TRUE .... MP is NOT in our site => CUSTOMER_MMI
# 3. MMI_VERSION == (PLUTO_MMI | NEPTUNE_MMI) & EMPTY_RESOURCE == FALSE ... MTK internal => PLUTO_MMI or NEPTUNE_MMI
# copy mmi_features_switch.h & CustMiscData.c will be used when CUSTOM_RELEASE == TRUE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -