📄 gsm2.mak
字号:
#
# 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).
#
# *************************************************************************
# GSM2.MAK - GSM phase 2 master project build script
#
# DISCUSSION:
# CUSTOMER = MTK, PLUTO ...
# PROJECT = L1S, GSM, GPRS
#
# USAGE:
# tools\make.exe -f[make file] [build_flag] <CUSTOMER> <PROJECT> <ACTION>
#
# Example:
# tools\make.exe -fmake\gsm2.mak -r -R CUSTOMER=mtk PROJECT=gprs new
#
# IMPORTANT NOTES:
#
# *************************************************************************
# *************************************************************************
# Set SUFFIXES
# *************************************************************************
.SUFFIXES:
.SUFFIXES: .ptr .h
# *************************************************************************
# Set PHONY
# *************************************************************************
.PHONY : new cleanall emigen cmmgen asngen nvram_auto_gen codegen ptrgen asnregen update cleanlog cleanbin genverno gencustominfo gencustomlists cksysdrv resgen scan remake libs code_generate cleancodegen cleanmod done gen_bl_verno startbuildlibs bootloader fota gen_infolog mmi_feature_check operator_check mcp_check ckmake ckscatter mmi_obj_check med_mem_check dummy_data_check
# *************************************************************************
# MediaTek is the default CUSTOMER.
# *************************************************************************
# *************************************************************************
# Common macro definitions
# *************************************************************************
#$(call Upper,$(1)) ...... reference $(1) in upper-case letters
Upper = $(subst z,Z,$(subst y,Y,$(subst x,X,$(subst w,W,$(subst v,V,$(subst u,U,$(subst t,T,$(subst s,S,$(subst r,R,$(subst q,Q,$(subst p,P,$(subst o,O,$(subst n,N,$(subst m,M,$(subst l,L,$(subst k,K,$(subst j,J,$(subst i,I,$(subst h,H,$(subst g,G,$(subst f,F,$(subst e,E,$(subst d,D,$(subst c,C,$(subst b,B,$(subst a,A,$(1)))))))))))))))))))))))))))
# -----------------------------
# Include scripts
# -----------------------------
include make\option.mak # Build option definitons
NEED_TRANS_CLASSB = FALSE
ifeq ($(call Upper,$(strip $(PROJECT))),L1S)
ifeq ($(strip $(L1_GPRS)),TRUE)
NEED_TRANS_CLASSB = TRUE
endif
else
ifeq ($(call Upper,$(strip $(PROJECT))),GPRS)
NEED_TRANS_CLASSB = TRUE
endif
endif
NEED_TRANS_UMTS = FALSE
ifeq ($(call Upper,$(strip $(PROJECT))),UMTS)
NEED_TRANS_UMTS = TRUE
endif
-include make\~cleanmod.tmp # Define clean modules
ifndef DO_CLEAN_MODULE
# Default clean all
DO_CLEAN_MODULE = FALSE
CLEAN_MODS =
else
ifneq ($(findstring =L1=,$(foreach mod,$(call Upper,$(CLEAN_MODS)),=$(mod)=)),)
NEED_CLEAN_CGENLST = TRUE
else
NEED_CLEAN_CGENLST = FALSE
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)
CLEAN_MODS := $(foreach comp,$(CLEAN_MODS),$(if $(filter-out l1,$(comp)),$(comp),$(comp)_classb))
CLEAN_MODS := $(foreach comp,$(CLEAN_MODS),$(if $(filter-out rr,$(comp)),$(comp),$(comp)_classb))
CLEAN_MODS := $(foreach comp,$(CLEAN_MODS),$(if $(filter-out mm,$(comp)),$(comp),$(comp)_classb))
CLEAN_MODS := $(foreach comp,$(CLEAN_MODS),$(if $(filter-out l4,$(comp)),$(comp),$(comp)_classb))
CLEAN_MODS := $(foreach comp,$(CLEAN_MODS),$(if $(filter-out peer,$(comp)),$(comp),$(comp)_classb))
CLEAN_MODS := $(foreach comp,$(CLEAN_MODS),$(if $(filter-out interface,$(comp)),$(comp),$(comp)_classb))
endif
#$(warning CLEAN_MODS = $(CLEAN_MODS))
endif
-include make\~updatemod.tmp # Define update modules
ifndef DO_UPDATE_MODULE
# Default update all
DO_UPDATE_MODULE = FALSE
UPDATE_MODS =
RUN_RESGEN = TRUE
else
RUN_RESGEN = FALSE
ifneq ($(findstring =MMIRESOURCE=,$(foreach mod,$(call Upper,$(UPDATE_MODS)),=$(mod)=)),)
RUN_RESGEN = TRUE
endif
ifneq ($(findstring =LCMMIRESOURCE=,$(foreach mod,$(call Upper,$(UPDATE_MODS)),=$(mod)=)),)
RUN_RESGEN = TRUE
endif
endif
# reset RUN_RESGEN if $(PROJECT) == BASIC || L1S
ifeq ($(strip $(call Upper,$(PROJECT))),BASIC)
RUN_RESGEN = FALSE
endif
ifeq ($(strip $(call Upper,$(PROJECT))),L1S)
RUN_RESGEN = FALSE
endif
ifneq ($(findstring MODEM,$(CUSTOMER)),)
RUN_RESGEN = FALSE
endif
ifeq ($(strip $(MMI_VERSION)),EMPTY_MMI)
RUN_RESGEN = FALSE
endif
#$(warning RUN_RESGEN: $(RUN_RESGEN))
-include make\~remakemod.tmp # Define remake modules
ifndef DO_REMAKE_MODULE
# Default remake all
DO_REMAKE_MODULE = FALSE
REMAKE_MODS =
endif
-include make\Custom.bld # Custom release build
ifndef CUSTOM_RELEASE
# Default custom release
CUSTOM_RELEASE = FALSE
endif
CODE_GEN_SRCS =
ifndef EXT_CAM_MODULE
EXT_CAM_MODULE = NONE
endif
ifndef CMOS_SENSOR
CMOS_SENSOR = NONE
endif
ifdef COMPILER
ifeq ($(strip $(COMPILER)),RVCT)
VIA = --via
endif
ifeq ($(strip $(COMPILER)),ADS)
VIA = -via
endif
endif
# default is ADS compiler
ifndef COMPILER
COMPILER = ADS
VIA = -via
endif
####################################################################
# Add alias module capability
####################################################################
include make\ALIAS.mak
ifdef COMPLIST
COMPLIST_TEMP = $(foreach mod,$(call Upper,$(COMPLIST)), \
$(if $(findstring $($(mod)),TRUE),$($(mod)_CHILD),$(call lc,$(mod))))
endif
COMPLIST := $(strip $(COMPLIST_TEMP))
ifdef UPDATE_MODS
UPDATE_MODS_TEMP = $(foreach mod,$(call Upper,$(UPDATE_MODS)), \
$(if $(findstring $($(mod)),TRUE),$($(mod)_CHILD),$(call lc,$(mod))))
endif
UPDATE_MODS := $(strip $(UPDATE_MODS_TEMP))
#ifdef REMAKE_MODS
#REMAKE_MODS_TEMP = $(foreach mod,$(call Upper,$(REMAKE_MODS)), \
# $(if $(findstring $($(mod)),TRUE),$(subst $(mod),$($(mod)_CHILD),$(call Upper,$(REMAKE_MODS))),$(mod)))
#endif
#REMAKE_MODS := $(REMAKE_MODS_TEMP)
ifdef REMAKE_MODS
REMAKE_MODS_TEMP = $(foreach mod,$(call Upper,$(REMAKE_MODS)), \
$(if $(findstring $($(mod)),TRUE),$($(mod)_CHILD),$(call lc,$(mod))))
endif
REMAKE_MODS := $(REMAKE_MODS_TEMP)
####################################################################
# End of alias build settings.
####################################################################
ifndef MTK_SUBSIDIARY
MTK_SUBSIDIARY = FALSE
endif
ifndef SYSGEN_ENABLE
SYSGEN_ENABLE = FALSE
endif
# *************************************************************************
# Build path, directories
# *************************************************************************
# Do not support new mmi feature file architecture
OPTR_WARNING_DEF = $(strip $(FIXPATH))\operator\$(strip $(word 1,$(subst _, ,$(OPTR_SPEC))))\$(strip $(word 2,$(subst _, ,$(OPTR_SPEC))))\plutommi\operator_checklist.txt
PURE_VERNO = $(subst .,_, $(subst $(call Upper,$(strip $(CUSTOMER))).,, $(subst MAUI_SW.,, $(subst MAUI_SW.CLASSB.,, $(call Upper,$(VERNO))))))
FOTA_PURE_VERNO = $(subst .,_, $(subst $(call Upper,$(strip $(CUSTOMER))).,, $(subst MAUI.,, $(subst MAUI_SW.,, $(subst MAUI_SW.CLASSB.,, $(call Upper,$(VERNO)))))))
SLIM_BRANCH = $(strip $(word 2,$(subst ., ,$(VERNO))))
NEWTARGNAME = $(strip $(TARGNAME)).$(strip $(PURE_VERNO))
BPLGUINFOCUSTOMSRCP = BPLGUInfoCustomAppSrcP_$(strip $(PLATFORM))_$(strip $(CHIP_VER))_$(strip $(PURE_VERNO))
MMI_FEATURES_FILE = $(FIXPATH)\$(MMIDIR)\MMI\Inc\MMI_features.h
MMI_FEATURES_SWITCH_FILE = $(FIXPATH)\$(MMIDIR)\MMI\Inc\MMI_features_switch.h
ifeq ($(strip $(CUSTOM_RELEASE)),TRUE)
BPLGUINFOCUSTOM = $(shell dir $(strip $(TST_DB))\$(strip $(BPLGUINFOCUSTOMPREFIX))* /b)
else
BPLGUINFOCUSTOM = $(BPLGUINFOCUSTOMPREFIX)_$(strip $(PURE_VERNO))
endif
PLATFORM_LIB =
COM_SCANDEFS = $(foreach def, $(COM_DEFS),-define $(def))
COM_SCANDEFS_NEW = $(foreach def, $(COM_DEFS),-D$(def))
# .log
LOGDIR = $(strip $(TARGDIR))
# version no dir
VERNODIR = $(strip $(FIXPATH))\verno
# summary log
LOG = $(strip $(LOGDIR))\$(strip $(PLATFORM)).log
BOOTLOADER_LOG = $(strip $(LOGDIR))\bootloader.log
FOTA_LOG = $(strip $(LOGDIR))\fota.log
LNKERRORLOG = $(strip $(LOGDIR))\$(strip $(PLATFORM))_error.log
# Component's log file
COMPLOGDIR = $(strip $(TARGDIR))\log
INFOLOG = $(strip $(COMPLOGDIR))\info.log
INFOMAKELOG = $(strip $(COMPLOGDIR))\infomake.log
CODE_GEN_LOG = $(strip $(COMPLOGDIR))\codegen.log
# L1 database
L1_DB_COMM = $(strip $(FIXPATH))\l1\common
# Cgen
CGEN = $(strip $(FIXPATH))\tools\Cgen.exe
# Catbin
CATBIN = $(strip $(FIXPATH))\tools\catbin.exe
ifeq ($(CUSTOM_RELEASE),FALSE)
TMD_FILES = $(L1_TMD_FILES)
TST_GEN_DEP_SRCS = $(strip $(TSTDIR))\database\msglog_db\parse_db.c
TST_GEN_DEP_OUTS = $(strip $(TST_DB))\msglog_db\pri.db
PTR_GEN_OUTS = $(patsubst %.h,%.ptr, $(notdir $(subst \,/,$(COMP_TRACE_DEFS))))
TST_GEN_DEP_STP3_SRCS = $(strip $(TST_DB))\msglog_db\BInfo
TST_GEN_DEP_STP3_OUTS = $(strip $(TST_DB))\pstrace_db\BPInfo
else
TMD_FILES =
TST_GEN_DEP_SRCS = $(strip $(TSTDIR))\database\msglog_db\custom_parse_db.c
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -