blob: 2c65f53d94c0e051e30345be21410790c1d2b740 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001#
2# Copyright Statement:
3# --------------------
4# This software is protected by Copyright and the information contained
5# herein is confidential. The software may not be copied and the information
6# contained herein may not be used or disclosed except with the written
7# permission of MediaTek Inc. (C) 2005
8#
9# BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12# AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15# NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16# SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17# SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19# NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20# SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21#
22# BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23# LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24# AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25# OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27#
28# THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29# WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30# LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31# RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32# THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33#
34#
35# *************************************************************************
36#
37# MediaTek Inc GSM/GPRS Wireless Communicatin Project
38# Build/Make Development Tools
39#
40# Author Date Description
41# Sherman Wang 2004/04/29 Create version 1.0
42#
43# *************************************************************************
44# COMP.MAK - Component build script
45#
46# DISCUSSION:
47#
48# This file is build script for component modules, and contains C source
49# files (.c), and Assembly source files(.s).
50#
51# USAGE:
52#
53# IMPORTANT NOTES:
54#
55# *************************************************************************
56#
57# $Revision:$
58# $Modtime:$
59# $Log:$
60#
61# 10 14 2020 chi-chun.lu
62# [MOLY00538735] [MakeFile][Modify Makefile Rules] incremental build enhancement
63#
64# .
65#
66# 09 09 2020 chi-chun.lu
67# [MOLY00538735] [MakeFile][Modify Makefile Rules] incremental build enhancement
68#
69# (EWSP0000153449).
70#
71# 09 08 2020 chi-chun.lu
72# [MOLY00566669] [MakeFile] [Modify Common Makefile Rules] add deterministic for ci service
73# .
74#
75# 07 06 2020 chi-chun.lu
76# [MOLY00538735] [MakeFile][Modify Makefile Rules] incremental build enhancement
77#
78# .
79#
80# 06 30 2020 chi-chun.lu
81# [MOLY00538735] [MakeFile][Modify Makefile Rules] incremental build enhancement
82#
83# .
84#
85# 05 22 2020 chi-chun.lu
86# [MOLY00525991] [MakeFile] [VMOLY] [Modify Makefile Rules] support smart new when verno change
87# .
88#
89# 12 25 2019 chi-chun.lu
90# [MOLY00467020] [MakeFile] [VMOLY] [Modify Makefile Rules] fix ccache potential problem
91# .
92#
93# 12 09 2019 chi-chun.lu
94# [MOLY00464738] [MakeFile] [VMOLY] [Modify Makefile Rules] smart new enhancement
95#
96# .
97#
98# 11 27 2019 chi-chun.lu
99# [MOLY00461604] [MakeFile] [VMOLY] [Modify Makefile Rules] ccache enhancement
100#
101# .
102#
103# 11 15 2019 chi-chun.lu
104# [MOLY00459055] [MakeFile] [VMOLY] [Modify Makefile Rules] fix potential smart new build flow problem
105# .
106#
107# 11 11 2019 yuri.huang
108# [MOLY00458426] [MakeFile] [VUMOLY] [Modify Makefile Rules] Modify build flow
109#
110# .
111#
112# 11 08 2019 chi-chun.lu
113# [MOLY00456042] [MakeFile] [VMOLY] [Modify Makefile Rules] fix update_dsp flow
114# .
115#
116# 11 05 2019 ray.lin-wang
117# [MOLY00456042] [MakeFile] [VMOLY] [Modify Makefile Rules] fix update_dsp flow - comp.amk via dep
118#
119# .
120#
121# 11 04 2019 ray.lin-wang
122# [MOLY00456042] [MakeFile] [VMOLY] [Modify Makefile Rules] fix update_dsp flow.
123#
124# 10 22 2019 ray.lin-wang
125# [MOLY00452976] [MakeFile] [VMOLY] [Modify Makefile Rules] MoDIS/UESim support smart new
126#
127# .
128#
129# 10 09 2019 yuri.huang
130# [MOLY00446346] [MakeFile] [UMOLYE] [Modify Makefile Rules] Modify build flow
131# (Clean PCISB).
132#
133# 09 10 2019 yuri.huang
134# [MOLY00439079] [MakeFile] [VMOLY] [Modify Makefile Rules] Remove Legacy RTOS references from access restricted make files - Part 2
135# (Lari Manninen).
136#
137# 06 03 2019 yuri.huang
138# [MOLY00381361] [MakeFile] [UMOLYE] [Modify Makefile Rules] Phase out auto_header.h mechanism
139#
140# .
141#
142# 05 10 2019 chi-chun.lu
143# [MOLY00405345] [MakeFile] [UMOLYE] [Modify Makefile Rules] fix remake problem
144#
145# .
146#
147# 05 10 2019 chi-chun.lu
148# [MOLY00405345] [MakeFile] [UMOLYE] [Modify Makefile Rules] fix remake problem
149#
150# .
151#
152# 04 16 2019 ray.lin-wang
153# [MOLY00399667] [MakeFile] [VMOLY] [Modify Makefile Rules] MoDIS/UESim support generating dep and pcibt check
154# .
155#
156# 04 01 2019 yuri.huang
157# [MOLY00395916] [MakeFile] [UMOLYE] [Modify Makefile Rules] MPD 4g local build
158#
159# .
160#
161# 03 20 2019 gerry.liao
162# [MOLY00392677] [6297] MERTOS phase-in
163# .
164#
165# 12 26 2018 chi-chun.lu
166# [MOLY00372655] [MakeFile] [UMOLYE] [Modify Makefile Rules] smart new enhancement
167#
168# .
169#
170# 10 16 2018 ray.lin-wang
171# [MOLY00352266] [UESim on Linux] UESim built by Clang toolchain on Linux
172# support -llvm-coverage (ShihYu Wang).
173#
174# 10 03 2018 chi-chun.lu
175# [MOLY00356821] [MakeFile] [UMOLYE] [Modify Makefile Rules] refine build flow
176#
177# .
178#
179# 10 02 2018 chi-chun.lu
180# [MOLY00355922] [MakeFile] [UMOLYE] [Modify Makefile Rules] fix smart new problem
181#
182# .
183#
184# 09 07 2018 chi-chun.lu
185# [MOLY00350930] [MakeFile] [UMOLYE] [Modify Makefile Rules] check MPD folder path implement(temp)
186#
187# .
188#
189# 09 07 2018 chi-chun.lu
190# [MOLY00350930] [MakeFile] [UMOLYE] [Modify Makefile Rules] check MPD folder path implement(temp)
191#
192# .
193#
194# 08 10 2018 ray.lin-wang
195# [MOLY00344924] [VMOLY][BuildEnv] merge back from Gen97 Dev to VMOLY
196# build flow makefile.
197#
198# 08 02 2018 ray.lin-wang
199# [MOLY00342318] [MoDIS on Linux] MoDIS built by Clang toolchain on Linux
200# 07 26 2018 chi-chun.lu
201# [MOLY00342237] [MakeFile] [UMOLYE] [Modify Makefile Rules] fix debug mode of module makefile
202#
203# .
204#
205# *************************************************************************
206# *************************************************************************
207# Common macro definitions
208# *************************************************************************
209#$(call Upper,$(1)) ...... reference $(1) in upper-case letters
210Upper = $(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)))))))))))))))))))))))))))
211Lower = $(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)))))))))))))))))))))))))))
212
213CUSTOM_FLD_MAPPING = $(if $($(subst /,_,$(patsubst %/,%,$(subst //,/,$(subst \,/,$(call lc, $(1))))))), \
214 $($(subst /,_,$(patsubst %/,%,$(subst //,/,$(subst \,/,$(call lc, $(1))))))),\
215 $(if $(wildcard $(subst //,/,$(subst \,/,$(call lc, $(1))))/$(BOARD_VER)/$(strip $(CUSTOM_FLAVOR))),\
216 $(subst //,/,$(subst \,/,$(call lc, $(1))))/$(BOARD_VER)/$(strip $(CUSTOM_FLAVOR)),\
217 $(wildcard $(subst //,/,$(subst \,/,$(call lc, $(1))))/$(BOARD_VER)/DEFAULT)))
218
219
220AUTO_MERGE_FILE_CHECK = $(if $(shell $(LIST_DIR) "$(call CUSTOM_FLD_MAPPING,$(1))/$(2)" 2>$(DEV_NUL)), $(call CUSTOM_FLD_MAPPING,$(1))/$(2), \
221 $(if $(shell $(LIST_DIR) "$(1)/_Default_BB/$(strip $(PLATFORM))/$(2)" 2>$(DEV_NUL)), $(1)/_Default_BB/$(strip $(PLATFORM))/$(2),))
222# *************************************************************************
223# Project Variables
224# *************************************************************************
225
226include make/common/cmd_cfg.mak
227include ./tools/GMSL/gmsl
228include $(strip $(TMPDIR))/~compbld.tmp # Temporary build script created by build.mak
229include $(strip $(PROJECT_MAKEFILE))
230include make/common/buildconfig.mak
231-include $(strip $(TARGDIR))/MMI_DRV_DEFS.mak
232
233ifeq ($(filter $(strip $(COMPONENT)),$(COMPLIST)),)
234NO_PCIBT := TRUE
235endif
236
237ifeq ($(strip $(COMPILER)),GCC)
238 ADEFTrans = $(strip -defsym $(1)=$(strip $(2)))
239endif
240
241NEED_CHECK_DEPEND_LIST :=
242MODULE_DEFS := $(DEFINES) $(DRV_DEFS)
243
244ifeq ($(strip $(MODIS_CONFIG)),TRUE)
245 MODULE_DEFS := $(filter-out __MTK_TARGET__,$(MODULE_DEFS))
246 include $(strip $(MAKE_COMMON))/modisconfig.mak
247 NEED_CHECK_DEPEND_LIST += $(strip $(MAKE_COMMON))/modisconfig.mak
248endif
249
250include $(strip $(TMPDIR))/~categorymapping.mak
251
252MODULE_MAKEFILE := make/$($(call Upper,$(strip $(COMPONENT)))_MODULE_CATEGORY)/$(call Lower,$(strip $(COMPONENT))).mak
253include $(MODULE_MAKEFILE)
254NEED_CHECK_DEPEND_LIST += $(MODULE_MAKEFILE)
255
256CATEGORY_CONFIG_MAKEFILE := make/module/$($(call Upper,$(strip $(COMPONENT)))_CATEGORY)/$($(call Upper,$(strip $(COMPONENT)))_CATEGORY)_config.mak
257ifneq ($(strip $(NOT_USE_CATEGORY_INCLUDE)),TRUE)
258 include $(CATEGORY_CONFIG_MAKEFILE)
259 NEED_CHECK_DEPEND_LIST += $(CATEGORY_CONFIG_MAKEFILE)
260endif
261
262# *************************************************************************
263# Set SUFFIXES
264# *************************************************************************
265.SUFFIXES:
266.SUFFIXES: .obj .c .S .s .cpp .arm .ltp .det
267
268# *************************************************************************
269# Set PHONY
270# *************************************************************************
271.PHONY : update_lib update_dep
272
273# *************************************************************************
274# Set Shell
275# *************************************************************************
276#SHELL = $(ComSpec)
277
278# *************************************************************************
279# Construct $(COMPONENT) specific varible
280# *************************************************************************
281TARGLIB = $(subst \,/,$(strip $(COMPLIBDIR)))/lib$(strip $(COMPONENT)).a
282
283COMPOBJS_DIR = $(subst \,/,$(OBJSDIR))/$(strip $(COMPONENT))
284OBJ_ARCHIVE = $(OBJSDIR)/$(COMPONENT)/$(strip $(COMPONENT)).via
285OBJ_ARCHIVE_SORT = $(OBJSDIR)/$(COMPONENT)/$(strip $(COMPONENT))_sort.via
286
287TARGDEP = $(subst \,/,$(RULESDIR))/$(strip $(COMPONENT)).dep
288COMPDETS_DIR = $(subst \,/,$(RULESDIR))/$(strip $(COMPONENT))
289COMPVIA_DIR = $(TARGDIR)/via
290
291TARGDEP_LIST :=
292
293ifneq ($(strip $(MODIS_CONFIG)),TRUE)
294 MODULE_FOLDER = $(TARGDIR)/module
295else
296 MODULE_FOLDER = $(strip $(BUILDDIR))/$(strip $(PROJECT_NAME))/$(strip $(FLAVOR))/$(strip $(MODIS_UESIM))/_BUILD_MODULE
297endif
298
299ifdef $($(COMPONENT))
300 COMPONENT_FOLDER = $(MODULE_FOLDER)/$(strip $($(call Lower,$(COMPONENT))))/$(call Lower,$(strip $(COMPONENT)))
301else
302 COMPONENT_FOLDER = $(MODULE_FOLDER)/$(call Lower,$(strip $(COMPONENT)))
303endif
304COMPONENT_LOG = $(COMPONENT_FOLDER)/$(call Lower,$(strip $(COMPONENT)))
305
306ifeq ($(strip $(MODIS_CONFIG)),TRUE)
307 COMPLOGDIR := $(MODISLOGDIR)
308 TARGLIB := $(MODISPROJDIR)/$(strip $(COMPONENT))/$(strip $(MODIS_MODE))/$(strip $(COMPONENT)).lib
309 COMPOBJS_DIR := $(MODISPROJDIR)/$(strip $(COMPONENT))/$(strip $(MODIS_MODE))
310 OBJ_ARCHIVE := $(COMPONENT_FOLDER)/$(call Lower,$(strip $(COMPONENT)))_lib.via
311 OBJ_ARCHIVE_SORT := $(COMPONENT_FOLDER)/$(call Lower,$(strip $(COMPONENT)))_lib_sort.via
312 TARGDEP := $(MODIS_RULESDIR)/$(call Lower,$(strip $(COMPONENT))).dep
313 COMPDETS_DIR := $(MODIS_RULESDIR)/$(call Lower,$(strip $(COMPONENT)))
314 COMPVIA_DIR := $(COMPONENT_FOLDER)
315 ifeq ($(strip $(MODIS_COMPILER)),MINGW)
316 ifeq ($(strip $(MODIS_MODE)),Debug)
317 DEBUG_MODULES := ALL
318 else ifeq ($(strip $(MODIS_MODE)),Release)
319 NON_DEBUG_MODULES := ALL
320 endif
321 endif
322endif
323
324# *************************************************************************
325# Configure debug symbol compiler arguments
326# *************************************************************************
327ifndef CUSTOM_DEBUG_MODULES
328 CUSTOM_DEBUG_MODULES =
329endif
330
331ifndef CUSTOM_NON_DEBUG_MODULES
332 CUSTOM_NON_DEBUG_MODULES =
333endif
334
335ifneq ($(filter ALL,$(call Upper,$(CUSTOM_DEBUG_MODULES))),)
336 ifneq ($(strip $(MODIS_CONFIG)),TRUE)
337 ifeq ($(strip $(COMPILER)),GCC)
338 CFLAGS += $(DWARF_FLAGS)
339 CPLUSFLAGS += $(DWARF_FLAGS)
340 endif
341 endif
342else
343 ifneq ($(filter $(call Upper,$(COMPONENT)),$(call Upper,$(CUSTOM_DEBUG_MODULES))),)
344 ifneq ($(strip $(MODIS_CONFIG)),TRUE)
345 ifeq ($(strip $(COMPILER)),GCC)
346 CFLAGS += $(DWARF_FLAGS)
347 CPLUSFLAGS += $(DWARF_FLAGS)
348 endif
349 endif
350 endif
351endif
352
353ifeq ($(filter $(call Upper,$(COMPONENT)),$(call Upper,$(DSP_ASE_MODULES))),)
354 ifneq ($(filter -mdsp -mdspr2,$(CFLAGS)),)
355 $(error Error: Cannot use -mdsp -mdspr2 in module makefile, please check !!)
356 endif
357endif
358
359ifneq ($(filter $(call Upper,$(COMPONENT)),$(call Upper,$(CUSTOM_NON_DEBUG_MODULES))),)
360 CFLAGS := $(filter-out -g -gtp -gdwarf-% -g1 -g2 -g3,$(strip $(CFLAGS)))
361 CPLUSFLAGS := $(filter-out -g -gtp -gdwarf-% -g1 -g2 -g3,$(strip $(CPLUSFLAGS)))
362endif
363
364ifneq ($(filter $(call Upper,$(COMPONENT)),$(call Upper,$(CUSTOM_NON_DEBUG_MODULES))),)
365 $(info Module $(COMPONENT) is in NON_DEBUG mode)
366else
367 ifneq ($(filter ALL,$(call Upper,$(CUSTOM_DEBUG_MODULES))),)
368 $(info Module $(COMPONENT) is in DEBUG mode)
369 else
370 ifneq ($(filter $(call Upper,$(COMPONENT)),$(call Upper,$(CUSTOM_DEBUG_MODULES))),)
371 $(info Module $(COMPONENT) is in DEBUG mode)
372 else
373 $(info Module $(COMPONENT) is in DEFAULT mode)
374 endif
375 endif
376endif
377
378# *************************************************************************
379# Construct the list of object dependencies
380# *************************************************************************
381# THUMB + Assembly
382SRCLIST0 := $(sort $(SRC_LIST) $(filter-out %.c %.C %.cpp,$(SRC_LIST_ARM)))
383# ARM
384SRCLIST5 := $(sort $(filter %.c %.C %.cpp,$(SRC_LIST_ARM)))
385# BOTH
386SRC_LIST := $(SRCLIST0) $(SRCLIST5)
387ifdef SRC_RULE_FLAG32
388 # SRC_RULE_FLAG32 means the asm file should be compiled by armasm using -32 flag
389 SRCLIST9 := $(foreach file,$(SRCLIST0),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_FLAG32))),$(file),))
390 SRCLIST0 := $(foreach file,$(SRCLIST0),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_FLAG32))),,$(file)))
391endif
392ifdef SRC_RULE_PREPROCESS
393 # SRC_RULE_PREPROCESS means the asm file needs to be preprocessed by armcc -E and then armasm
394 SRCLIST8 := $(foreach file,$(SRCLIST0),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_PREPROCESS))),$(file),))
395 SRCLIST0 := $(foreach file,$(SRCLIST0),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_PREPROCESS))),,$(file)))
396endif
397
398ifeq ($(filter __L1_KW_SCAN__,$(DEFINES)),)
399ifdef SRC_RULE_AUTOTCM
400 # SRC_RULE_AUTOTCM means the c file needs to be preprocessed by armcc -E and then auto tcm and then compiled by armcc -c
401 ifeq ($(strip $(SRC_RULE_AUTOTCM)),ALL)
402 SRCLIST1 := $(filter %.c %.C %.cpp,$(SRCLIST0))
403 SRCLIST0 := $(filter-out %.c %.C %.cpp,$(SRCLIST0))
404 SRCLIST6 := $(filter %.c %.C %.cpp,$(SRCLIST5))
405 SRCLIST5 := $(filter-out %.c %.C %.cpp,$(SRCLIST5))
406 else
407 SRCLIST1 := $(foreach file,$(SRCLIST0),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_AUTOTCM))),$(file),))
408 SRCLIST0 := $(foreach file,$(SRCLIST0),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_AUTOTCM))),,$(file)))
409 SRCLIST6 := $(foreach file,$(SRCLIST5),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_AUTOTCM))),$(file),))
410 SRCLIST5 := $(foreach file,$(SRCLIST5),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_AUTOTCM))),,$(file)))
411 endif
412endif
413ifdef SRC_RULE_AUTOAMMS_DRDI
414 ifeq ($(strip $(SRC_RULE_AUTOAMMS_DRDI)),ALL)
415 SRCLIST_AMMS_DRDI := $(filter %.c %.C %.cpp,$(SRC_LIST))
416 SRCLIST0 := $(filter-out %.c %.C %.cpp,$(SRCLIST0))
417 SRCLIST5 := $(filter-out %.c %.C %.cpp,$(SRCLIST5))
418 else
419 SRCLIST_AMMS_DRDI := $(foreach file,$(SRC_LIST),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_AUTOAMMS_DRDI))),$(file),))
420 SRCLIST0 := $(foreach file,$(SRCLIST0),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_AUTOAMMS_DRDI))),,$(file)))
421 SRCLIST5 := $(foreach file,$(SRCLIST5),$(if $(filter $(notdir $(call Upper,$(file))) $(call Upper,$(file)),$(call Upper,$(SRC_RULE_AUTOAMMS_DRDI))),,$(file)))
422 endif
423endif
424endif
425
426CSRCS := $(filter %.c %.C %.cpp, $(SRCLIST0))
427CSRCS1 := $(filter %.c %.C %.cpp, $(SRCLIST1))
428CSRCS5 := $(filter %.c %.C %.cpp, $(SRCLIST5))
429CSRCS6 := $(filter %.c %.C %.cpp, $(SRCLIST6))
430ASRCS := $(filter %.s %.S %.arm, $(SRCLIST0))
431ASRCS1 := $(filter %.s %.S %.arm, $(SRCLIST9))
432ASRCS2 := $(filter %.s %.S %.arm, $(SRCLIST8))
433CSRCS_AMMS_DRDI := $(filter %.c %.C %.cpp, $(SRCLIST_AMMS_DRDI))
434
435INC_DIR += $(CATEGORY_INCDIRS)
436INCDIRS := $(INC_DIR) $(INCDIRS)
437INCDIRS := $(call uniq,$(INCDIRS))
438
439#CATEGORY_DEFS is from $category_config.mak
440DEFINES += $(CATEGORY_DEFS)
441#COMP_DEFS is from $module.mak
442DEFINES += $(COMP_DEFS)
443
444ifeq ($(strip $(MODIS_CONFIG)),TRUE)
445 ifdef MODIS_DIS_INC_PATH
446 INCDIRS := $(filter-out $(MODIS_DIS_INC_PATH),$(INCDIRS))
447 endif
448 ifdef MODIS_DIS_OPTION
449 DEFINES := $(filter-out $(MODIS_DIS_OPTION),$(DEFINES))
450 endif
451endif
452
453CINCDIRS = $(foreach inc, $(subst \,/,$(INCDIRS)),-I$(inc))
454CDEFS = $(foreach def, $(DEFINES),-D$(def))
455A_CDEFS = $(foreach def, $(strip $(DEFINES)),$(if $(findstring =,$(def)),-D$(def),-D$(def)=$(def)))
456
457#*************************************************************************
458# ccache excluding files
459#*************************************************************************
460CCACHE_EXCLUDE_FILE :=
461
462#*************************************************************************
463# folder path check
464#*************************************************************************
465ifneq ($(strip $(NO_PCIBT)),TRUE)
466 -include $(strip $(TMPDIR))/~buildinfo.tmp
467 -include $(strip $(MAKE_COMMON))/comp_pcibt.mak
468endif
469
470#check if non-4g module use the 4g src
471ifeq ($(filter $(COMPONENT),$(FOURG_COMP) $(FIVEG_COMP)),)
472 ifneq ($(filter protocol/lte_sec% l1/lte_sec% protocol/lte_sec%, $(SRC_LIST) $(INC_DIR)),)
473 $(error Error: Can not use lte_sec in $(COMPONENT) module SRC_LIST/INC_DIR, please check !!)
474 endif
475endif
476
477ifneq ($(filter $(COMPONENT),$(FOURG_COMP) $(FIVEG_COMP)),)
478CHK_LTE_COMP = TRUE
479endif
480
481# *************************************************************************
482# Set View Path
483# *************************************************************************
484vpath
485vpath %.obj $(COMPOBJS_DIR)
486vpath %.det $(COMPDETS_DIR)
487
488# XXX!!! To use predefine for assembler is a little difficult and
489# usually can be replaced with C sources.
490ADEFS = $(foreach def, $(COMP_DEFS),$(call ADEFTrans,$(def), TRUE))
491ADEFS += $(foreach def, $(strip $(COM_DEFS_FOR_$(strip $(PLATFORM)))),$(call ADEFTrans,$(def), TRUE))
492ifeq ($(strip $(COMPILER)),GCC)
493 ADEFS += --defsym __SRS_CPS_OPTIMIZE__=1
494endif
495
496ifneq ($(filter $(strip $(PLATFORM)),$(SV5_PLATFORM)),)
497 ADEFS += $(call ADEFTrans,__SV5_ENABLED__, TRUE)
498endif
499
500ifneq ($(filter __KAL_STACK_ISOLATION__,$(strip $(DEFINES))),)
501 ADEFS += $(call ADEFTrans,__KAL_STACK_ISOLATION__, TRUE)
502endif
503
504ifneq ($(filter __KAL_STACK_EXTENSIBLE__,$(strip $(DEFINES))),)
505 ADEFS += $(call ADEFTrans,__KAL_STACK_EXTENSIBLE__, TRUE)
506endif
507
508ifneq ($(filter __EVENT_BASED_TIMER__,$(strip $(DEFINES))),)
509 ADEFS += $(call ADEFTrans,__EVENT_BASED_TIMER__, TRUE)
510endif
511
512ifeq ($(PRODUCTION_RELEASE),TRUE)
513 ADEFS += $(call ADEFTrans,__PRODUCTION_RELEASE__, TRUE)
514endif
515
516ifeq ($(strip $(RTOS)),MERTOS)
517 ADEFS += $(call ADEFTrans,KAL_ON_MERTOS, TRUE)
518endif
519
520ifeq ($(strip $(CHIP_VERSION_CHECK)),TRUE)
521 ADEFS += $(call ADEFTrans,__CHIP_VERSION_CHECK__, TRUE)
522endif
523
524ifdef GADGET_SUPPORT
525ifneq ($(strip $(GADGET_SUPPORT)),NONE)
526 ADEFS += $(call ADEFTrans,__GADGET_SUPPORT__, TRUE)
527endif
528endif
529
530ifeq ($(strip $(KEYPAD_DEBUG_TRACE)),TRUE)
531 ADEFS += $(call ADEFTrans,__KEYPAD_DEBUG_TRACE__, TRUE)
532endif
533
534ifneq ($(filter $(strip $(PLATFORM)),$(ARM9_PLATFORM)),)
535 ADEFS += $(call ADEFTrans,ARM9_MMU, TRUE)
536endif
537
538ifneq ($(filter $(strip $(PLATFORM)),$(ARM11_PLATFORM)),)
539 ADEFS += $(call ADEFTrans,$(strip $(PLATFORM)), TRUE)
540 ADEFS += $(call ADEFTrans,ARM11_MMU, TRUE)
541 ADEFS += $(call ADEFTrans,__ARM1176__, TRUE)
542endif
543
544ifneq ($(filter $(strip $(PLATFORM)),$(CR4_PLATFORM)),)
545 ADEFS += $(call ADEFTrans,$(strip $(PLATFORM)), TRUE)
546 ADEFS += $(call ADEFTrans,CR4, TRUE)
547endif
548## end of ADEFS
549
550# if any component needs to interwork with other ARM mode components, it should
551
552# Compiler settings for specific components
553#the following will be removed after *.def are updated
554
555
556ifeq ($(strip $(COMPONENT)),dp_engine)
557 ifeq ($(strip $(COMPILER)),GCC)
558 CFLAGS += -O3
559 else
560 CFLAGS += -Otime -Ono_autoinline
561 endif
562endif
563
564ifeq ($(strip $(COMPILER)),GCC)
565 depend = -MMD -MP -MF
566 AS_depend = -MD
567else
568 depend = --depend
569 AS_depend = --depend
570endif
571
572ifeq ($(strip $(MODIS_CONFIG)),TRUE)
573 ifeq ($(strip $(MODIS_COMPILER)),CLANG)
574 CFLAGS := $(CFLAGS_CLANG_MODIS)
575 ifeq ($(strip $(COMPONENT)),c2k_xsim_gw)
576 # One byte alignment is required for GKI send/receive signal operations.
577 # Only applies to c2k_xsim_gw because it is the only entry point for GKI operations for UESIM/Modis
578 CFLAGS += /Zp1
579 else
580 # Default alignment of 8 bytes
581 CFLAGS += /Zp8
582 endif
583 CPLUSFLAGS := $(CFLAGS)
584 LIB := $(LIB_MODIS)
585 else ifeq ($(strip $(MODIS_COMPILER)),MINGW)
586 CFLAGS := $(CFLAGS_MODIS)
587 CPLUSFLAGS := $(CFLAGS)
588 LIB := $(LIB_MODIS)
589 endif
590endif
591
592
593# Generate module information
594ifeq ($(strip $(GEN_MODULE_INFO)),TRUE)
595
596COMP_TEMP:=$(shell $(IF_NOT_EXIST) $(strip $(MODULE_FOLDER)) $(THEN) $(MKDIR) $(strip $(MODULE_FOLDER)) $(CMD_END))
597COMP_TEMP:=$(shell $(IF_EXIST) $(COMPONENT_LOG).lis $(THEN) $(DEL_FILE) $(COMPONENT_LOG).lis $(CMD_END))
598COMP_TEMP:=$(shell $(IF_EXIST) $(COMPONENT_LOG).ade $(THEN) $(DEL_FILE) $(COMPONENT_LOG).ade $(CMD_END))
599COMP_TEMP:=$(shell $(IF_EXIST) $(COMPONENT_LOG).inc $(THEN) $(DEL_FILE) $(COMPONENT_LOG).inc $(CMD_END))
600COMP_TEMP:=$(shell $(IF_NOT_EXIST) $(strip $(COMPONENT_FOLDER)) $(THEN) $(MKDIR) $(strip $(COMPONENT_FOLDER)) $(CMD_END))
601
602ifneq ($(strip $(OS_VERSION)),MSWin32)
603COMP_TEMP:=$(shell $(IF_EXIST) $(COMPONENT_LOG).def.bak $(THEN) $(DEL_FILE) $(COMPONENT_LOG).def.bak $(CMD_END))
604COMP_TEMP:=$(shell $(IF_EXIST) $(COMPONENT_LOG).def $(THEN) mv $(COMPONENT_LOG).def $(COMPONENT_LOG).def.bak $(CMD_END))
605endif
606
607ifneq ($(words $(SRC_LIST)),0)
608 ifeq ($(call lte,$(call strlen,$(SRC_LIST)),32000),T)
609 COMP_TEMP:=$(shell perl ./tools/echoLongString4.pl $(COMPONENT_LOG).lis $(SRC_LIST))
610 COMP_TEMP:=$(shell perl ./tools/lnitem.pl $(COMPONENT_LOG).lis)
611 else
612 COMP_TEMP:=$(foreach com,$(SRC_LIST),$(shell echo $(com)>>$(COMPONENT_LOG).lis))
613 endif
614else
615 COMP_TEMP:=$(shell $(ECHO) "" >$(COMPONENT_LOG).lis)
616endif
617
618#remove object files if not exist in SRC_LIST
619ifneq ($(wildcard $(COMPOBJS_DIR)),)
620LIST_OBJ_FINAL:=$(filter-out $(basename $(notdir $(SRC_LIST))),$(basename $(notdir $(shell $(LIST_DIR) -n "$(COMPOBJS_DIR)/*.obj"))))
621ifneq ($(words $(LIST_OBJ_FINAL)),0)
622 COMP_TEMP:=$(shell $(IF_EXIST) $(TARGLIB) $(THEN) $(DEL_FILE) $(TARGLIB) $(CMD_END))
623 COMP_TEMP:=$(foreach com,$(LIST_OBJ_FINAL),$(shell $(IF_EXIST) $(COMPOBJS_DIR)/$(com).obj $(THEN) $(DEL_FILE) $(COMPOBJS_DIR)/$(com).obj $(CMD_END)))
624 COMP_TEMP:=$(foreach com,$(LIST_OBJ_FINAL),$(shell $(IF_EXIST) $(COMPDETS_DIR)/$(com).d $(THEN) $(DEL_FILE) $(COMPDETS_DIR)/$(com).d $(CMD_END)))
625endif
626endif
627
628ifeq ($(strip $(MODIS_CONFIG)),TRUE)
629 ifneq ($(words $(INCDIRS)),0)
630 ifeq ($(call lte,$(call strlen,$(INCDIRS)),32000),T)
631 COMP_TEMP:=$(shell $(STRCMPEX) abc abc e $(COMPONENT_LOG).inc $(subst \,/,$(INCDIRS)))
632 COMP_TEMP:=$(shell perl ./tools/lnitem.pl $(COMPONENT_LOG).inc)
633 else
634 COMP_TEMP:=$(foreach com,$(INCDIRS),$(shell echo $(subst \,/,$(com)) >>$(COMPONENT_LOG).inc))
635 endif
636 else
637 COMP_TEMP:=$(shell $(ECHO) "" >$(COMPONENT_LOG).inc)
638 endif
639else
640 ifneq ($(words $(INC_DIR)),0)
641 ifeq ($(call lte,$(call strlen,$(INC_DIR)),32000),T)
642 ifeq ($(strip $(COMPILER)),GCC)
643 COMP_TEMP:=$(shell $(STRCMPEX) abc abc e $(COMPONENT_LOG).inc $(subst \,/,$(INC_DIR)))
644 else
645 COMP_TEMP:=$(shell $(STRCMPEX) abc abc e $(COMPONENT_LOG).inc $(INC_DIR))
646 endif
647 COMP_TEMP:=$(shell perl ./tools/lnitem.pl $(COMPONENT_LOG).inc)
648 else
649 ifeq ($(strip $(COMPILER)),GCC)
650 COMP_TEMP:=$(foreach com,$(INC_DIR),$(shell echo $(subst \,/,$(com)) >>$(COMPONENT_LOG).inc))
651 else
652 COMP_TEMP:=$(foreach com,$(INC_DIR),$(shell echo $(com) >>$(COMPONENT_LOG).inc))
653 endif
654 endif
655 else
656 COMP_TEMP:=$(shell $(ECHO) "" >$(COMPONENT_LOG).inc)
657 endif
658endif
659
660ifeq ($(strip $(MODIS_CONFIG)),TRUE)
661 ifneq ($(words $(DEFINES)),0)
662 ifeq ($(call lte,$(call strlen,$(DEFINES)),32000),T)
663 COMP_TEMP:=$(shell perl ./tools/echoLongString4.pl $(COMPONENT_LOG).def $(DEFINES))
664 COMP_TEMP:=$(shell perl ./tools/lnitem.pl $(COMPONENT_LOG).def)
665 else
666 COMP_TEMP:=$(foreach def,$(DEFINES),$(shell echo $(def) >>$(COMPONENT_LOG).def))
667 endif
668 else
669 COMP_TEMP:=$(shell $(ECHO) "" >$(COMPONENT_LOG).def)
670 endif
671else
672 ifneq ($(words $(COMP_DEFS)),0)
673 COMP_TEMP:=$(shell perl ./tools/echoLongString4.pl $(COMPONENT_LOG).def $(COMP_DEFS))
674 COMP_TEMP:=$(shell perl ./tools/lnitem.pl $(COMPONENT_LOG).def)
675 else
676 COMP_TEMP:=$(shell $(ECHO) "" >$(COMPONENT_LOG).def)
677 endif
678endif
679
680ifneq ($(strip $(MODIS_CONFIG)),TRUE)
681 COMP_TEMP:=$(shell perl ./tools/echoLongString5.pl $(COMPONENT_LOG).ade ADEFS $(ADEFS))
682endif
683
684else ifeq ($(filter $(MAKECMDGOALS),setup_env),)
685 SRC_LIST_OUT := $(filter-out %.rec %.ico %.rc %.bmp %.h,$(SRC_LIST))
686 SRC_LIST_TMP := $(foreach file,$(sort $(call Lower,$(SRC_LIST_OUT))),$(if $(filter $(basename $(notdir $(file))),$(basename $(notdir $(filter-out $(file),$(call Lower,$(SRC_LIST_OUT)))))),$(file),))
687 ifneq ($(strip $(SRC_LIST_TMP)),)
688 $(info The following files are conflicted in SRC_LIST from $(strip $(COMPONENT)).mak:)
689 $(info $(strip $(SRC_LIST_TMP)))
690 $(error SRC_LIST)
691 endif
692endif
693# end
694
695# *************************************************************************
696# Library Targets
697# *************************************************************************
698ifneq ($(strip $(DETERMINISTIC)),TRUE)
699ARCHIVE_OPTION := -r
700CLANG_FOR_DETERMINISTIC :=
701else
702ARCHIVE_OPTION := -rD
703CLANG_FOR_DETERMINISTIC := /Brepro
704endif
705
706update_lib: $(TARGLIB)
707# @$(IF_EXIST) $(COMPDETS_DIR) $(THEN) $(DEL_DIR) $(COMPDETS_DIR) $(CMD_END)
708$(TARGLIB):
709 # If library for customer release exists.
710 # Copy and update it or create a new one
711 # mbis time probe
712ifeq ($(strip $(MBIS_EN_OBJ_LOG)),TRUE)
713 @$(ECHO) -n -t "T_S,$@,L," >> $(COMPLOGDIR)/mbis/$(strip $(COMPONENT))/$(basename $(notdir $@))".mbis"
714endif
715 @$(IF_EXIST) $(TARGLIB) $(THEN) ($(DEL_FILE) $(TARGLIB)) $(CMD_END)
716 @$(IF_EXIST) $(OBJ_ARCHIVE) $(THEN) ($(DEL_FILE) $(OBJ_ARCHIVE)) $(CMD_END)
717 @$(IF_EXIST) $(OBJ_ARCHIVE_SORT) $(THEN) ($(DEL_FILE) $(OBJ_ARCHIVE_SORT)) $(CMD_END)
718
719 @$(FOR) $(F_OPT) $(DECLARE_VAR)i $(IN) `$(LIST_DIR) -n "$(COMPOBJS_DIR)/*.obj"` \
720 $(DO) \
721 $(ECHO) -n $(PRE_VAR)i>>$(OBJ_ARCHIVE)\
722 $(DONE)
723 @perl ./tools/sortobj.pl $(OBJ_ARCHIVE) $(OBJ_ARCHIVE_SORT)
724
725ifneq ($(strip $(MODIS_CONFIG)),TRUE)
726 ifeq ($(strip $(COMPILER)),GCC)
727 @$(strip $(LIB)) $(strip $(ARCHIVE_OPTION)) $(TARGLIB) $(VIA)$(OBJ_ARCHIVE_SORT)
728 else
729 @$(strip $(LIB)) -create $(TARGLIB) $(VIA)$(OBJ_ARCHIVE_SORT)
730 endif
731else
732 ifeq ($(strip $(MODIS_COMPILER)),MINGW)
733 @$(strip $(LIB)) $(strip $(ARCHIVE_OPTION)) $(TARGLIB) $(VIA)$(OBJ_ARCHIVE_SORT)
734 endif
735 ifeq ($(strip $(MODIS_COMPILER)),CLANG)
736 @$(strip $(LIB)) /nologo /out:$(TARGLIB) $(VIA)$(OBJ_ARCHIVE_SORT)
737 endif
738endif
739
740 @$(ECHO) -n "$(TARGLIB) is updated"
741
742 @$(IF_EXIST) $(OBJ_ARCHIVE) $(THEN) ($(DEL_FILE) $(OBJ_ARCHIVE)) $(CMD_END)
743 @$(IF_EXIST) $(OBJ_ARCHIVE_SORT) $(THEN) ($(DEL_FILE) $(OBJ_ARCHIVE_SORT)) $(CMD_END)
744
745ifeq ($(filter remake remake_modis,$(strip $(ACTION))),)
746 ifneq ($(strip $(NO_DEP)),TRUE)
747 @$(IF_EXIST) $(COMPDETS_DIR) $(THEN) perl ./tools/pack_dep_gcc.pl $(TARGDEP) $(COMPDETS_DIR) $(HTOGETHER) $(strip $(HEADER_TEMP)) $(CMD_END)
748 endif
749 ifneq ($(PCIBT_ACTION_LIST),)
750 $(PCIBT_SCRIPT_CMD) $(CHK_LTE_COMP) $(MODULE_MAKEFILE) $(COMPDETS_DIR) $(PCIBT_ACTION_LIST)
751 endif
752endif
753# @$(IF_EXIST) $(COMPDETS_DIR) $(THEN)$(DEL_DIR) $(COMPDETS_DIR) $(CMD_END)
754 # mbis time probe
755ifeq ($(strip $(MBIS_EN_OBJ_LOG)),TRUE)
756 @$(ECHO) -n -t "T_E,$@,L," >> $(COMPLOGDIR)/mbis/$(strip $(COMPONENT))/$(basename $(notdir $@))".mbis"
757endif
758
759RUN_SETUP_ENV := TRUE
760ifeq ($(strip $(GEN_MODULE_INFO)),TRUE)
761 RUN_SETUP_ENV := FALSE
762endif
763ifeq ($(strip $(MODIS_CONFIG)),TRUE)
764 ifeq ($(strip $(MODIS_COMPILER)),VC2008)
765 RUN_SETUP_ENV := FALSE
766 endif
767endif
768
769setup_env: gen_setup_env
770gen_setup_env:
771ifeq ($(strip $(RUN_SETUP_ENV)),TRUE)
772
773ifneq ($(strip $(OS_VERSION)),MSWin32)
774 @$(IF_EXIST) $(COMPVIA_DIR)/$(strip $(COMPONENT)).via $(THEN) mv $(COMPVIA_DIR)/$(strip $(COMPONENT)).via $(COMPVIA_DIR)/$(strip $(COMPONENT)).via_bak $(CMD_END)
775 @$(IF_EXIST) $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via $(THEN) mv $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via_bak $(CMD_END)
776endif
777
778 @$(IF_NOT_EXIST) $(COMPVIA_DIR) $(THEN) $(MKDIR) $(COMPVIA_DIR)/$(strip $(COMPONENT)) $(CMD_END)
779 @$(STRCMPEX) abc abc e $(COMPVIA_DIR)/$(strip $(COMPONENT)).via $(CDEFS)
780 @$(STRCMPEX) abc abc e $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via $(CINCDIRS)
781
782ifneq ($(strip $(OS_VERSION)),MSWin32)
783 @$(IF_EXIST) $(COMPVIA_DIR)/$(strip $(COMPONENT)).via_bak $(THEN) \
784 (($(COMPARE) $(COMPVIA_DIR)/$(strip $(COMPONENT)).via_bak $(COMPVIA_DIR)/$(strip $(COMPONENT)).via >$(DEV_NUL) 2>&1) $(WITH) \
785 ($(IF_ERR_FALSE) $(THEN) \
786 (touch -r $(COMPVIA_DIR)/$(strip $(COMPONENT)).via_bak $(COMPVIA_DIR)/$(strip $(COMPONENT)).via >$(DEV_NUL)) $(AND) \
787 (echo $(COMPVIA_DIR)/$(strip $(COMPONENT)).via timestampe is changed from $(COMPVIA_DIR)/$(strip $(COMPONENT)).via_bak!) \
788 $(CMD_END))) $(AND) \
789 ($(DEL_FILE) $(COMPVIA_DIR)/$(strip $(COMPONENT)).via_bak) \
790 $(CMD_END)
791
792 @$(IF_EXIST) $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via_bak $(THEN) \
793 (($(COMPARE) $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via_bak $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via >$(DEV_NUL) 2>&1) $(WITH) \
794 ($(IF_ERR_FALSE) $(THEN) \
795 (touch -r $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via_bak $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via >$(DEV_NUL)) $(AND) \
796 (echo $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via timestampe is changed from $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via_bak!) \
797 $(CMD_END))) $(AND) \
798 ($(DEL_FILE) $(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via_bak) \
799 $(CMD_END)
800endif
801
802ifeq ($(strip $(OS_VERSION)),MSWin32)
803 @tools\warp.exe $(subst /,\,$(COMPVIA_DIR))\$(strip $(COMPONENT)).via
804 @tools\warp.exe $(subst /,\,$(COMPVIA_DIR))\$(strip $(COMPONENT))_inc.via
805endif
806 @$(IF_NOT_EXIST) $(COMPLOGDIR)/$(strip $(COMPONENT)) $(THEN) $(MKDIR) $(COMPLOGDIR)/$(strip $(COMPONENT)) $(CMD_END)
807 @$(IF_NOT_EXIST) $(COMPDETS_DIR) $(THEN) $(MKDIR) $(COMPDETS_DIR) $(CMD_END)
808 @$(IF_NOT_EXIST) $(COMPOBJS_DIR) $(THEN) $(MKDIR) $(COMPOBJS_DIR) $(CMD_END)
809 ifneq ($(strip $(MODIS_CONFIG)),TRUE)
810 ifeq ($(filter __L1_KW_SCAN__,$(DEFINES)),)
811 ifdef SRC_RULE_AUTOTCM
812 ifneq ($(strip $(SRC_RULE_AUTOTCM)),)
813 @$(IF_EXIST) $(strip $(COMPLOGDIR))/$(strip $(COMPONENT))_auto_tcm.log $(THEN) $(DEL_FILE) $(strip $(COMPLOGDIR))/$(strip $(COMPONENT))_auto_tcm.log $(CMD_END)
814 @$(IF_NOT_EXIST) $(PROJ_INTERNAL_DIR)/auto_tcm/$(strip $(COMPONENT)) $(THEN) $(MKDIR) $(PROJ_INTERNAL_DIR)/auto_tcm/$(strip $(COMPONENT)) $(CMD_END)
815 endif
816 endif
817 ifdef SRC_RULE_AUTOAMMS_DRDI
818 ifneq ($(strip $(SRC_RULE_AUTOAMMS_DRDI)),)
819 @$(IF_EXIST) $(strip $(COMPLOGDIR))/$(strip $(COMPONENT))_auto_amms_drdi.log $(THEN) $(DEL_FILE) $(strip $(COMPLOGDIR))/$(strip $(COMPONENT))_auto_amms_drdi.log $(CMD_END)
820 @$(IF_NOT_EXIST) $(PROJ_INTERNAL_DIR)/auto_amms/$(strip $(COMPONENT)) $(THEN) $(MKDIR) $(PROJ_INTERNAL_DIR)/auto_amms/$(strip $(COMPONENT)) $(CMD_END)
821 endif
822 endif
823 endif
824 endif
825 # generate vcxproj for modis/uesim.
826 ifeq ($(strip $(MODIS_CONFIG)),TRUE)
827 perl ./$(strip $(MODISDIR))/createMoDIS.pl "$(strip $(PROJECT_MAKEFILE))" $(MODIS_UESIM) "$(strip $(COMPONENT))"
828 endif
829
830else
831 ifneq ($(strip $(MODIS_CONFIG)),TRUE)
832 @echo Generating $(COMPONENT) information is done.
833 else
834 @echo $(COMPONENT) MoDIS module setup is done.
835 endif
836endif
837ifneq ($(PCIBT_ACTION_LIST),)
838 ifeq ($(strip $(RUN_SETUP_ENV)),TRUE)
839 $(PCIBT_SCRIPT_CMD) $(CHK_LTE_COMP) $(MODULE_MAKEFILE) $(COMPONENT_LOG).lis,$(COMPVIA_DIR)/$(strip $(COMPONENT))_inc.via $(PCIBT_ACTION_LIST)
840 else
841 $(PCIBT_SCRIPT_CMD) $(CHK_LTE_COMP) $(MODULE_MAKEFILE) $(COMPONENT_LOG).lis,$(COMPONENT_LOG).inc $(PCIBT_ACTION_LIST)
842 endif
843endif
844
845# *************************************************************************
846# Dependency Targets
847# *************************************************************************
848update_dep: $(TARGDEP)
849 #@$(IF_EXIST) $(COMPDETS_DIR) $(THEN) $(DEL_DIR) $(COMPDETS_DIR) $(CMD_END)
850
851$(TARGDEP):
852 # mbis time probe
853ifeq ($(strip $(MBIS_EN_OBJ_LOG)),TRUE)
854 @$(ECHO) -n -t "T_S,$@,D," >> $(COMPLOGDIR)/mbis/$(strip $(COMPONENT))/$(basename $(notdir $@))".mbis"
855endif
856 @$(IF_EXIST) $(COMPDETS_DIR) $(THEN) perl ./tools/pack_dep_gcc.pl $(TARGDEP) $(COMPDETS_DIR) $(HTOGETHER) $(strip $(HEADER_TEMP)) $(CMD_END)
857 #@$(IF_EXIST) $(COMPDETS_DIR) $(THEN) $(DEL_DIR) $(COMPDETS_DIR) $(CMD_END)
858ifneq ($(PCIBT_ACTION_LIST),)
859 $(PCIBT_SCRIPT_CMD) $(CHK_LTE_COMP) $(MODULE_MAKEFILE) $(TARGDEP) $(PCIBT_ACTION_LIST)
860endif
861 # mbis time probe
862ifeq ($(strip $(MBIS_EN_OBJ_LOG)),TRUE)
863 @$(ECHO) -n -t "T_E,$@,D," >> $(COMPLOGDIR)/mbis/$(strip $(COMPONENT))/$(basename $(notdir $@))".mbis"
864endif
865
866# *************************************************************************
867# Component Targets
868# *************************************************************************
869# %.c: %.txt
870define target_adt_codegen
871$(2): $(1) $(3)
872 # mbis time probe
873ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
874 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
875endif
876 @echo Processing for ADT codegen $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
877 @$(IF_NOT_EXIST) $$(strip $$(ADT_RULESDIR))/$$(strip $$(COMPONENT)) $(THEN) $(MKDIR) $$(strip $$(ADT_RULESDIR))/$$(strip $$(COMPONENT)) $(CMD_END)
878 @perl $(3) $(1) $$(strip $$(ADT_RULESDIR))/$$(strip $$(COMPONENT))/$(4).c $$(strip $$(ADT_RULESDIR))/$$(strip $$(COMPONENT))/$(4).h >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
879
880ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
881 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
882endif
883endef
884
885# %.obj: %.c
886# %.obj: %.cpp
887define target_compile_c_obj
888ifneq ($(filter update_lib,$(MAKECMDGOALS)),)
889include $$(wildcard $$(COMPDETS_DIR)/$$(basename $$(notdir $(1))).d)
890endif
891ifeq ($$(strip $$(SMART_CHECK)),TRUE)
892$(2): $$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via
893endif
894$(2): $(1)
895 # mbis time probe
896ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
897 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
898endif
899 @echo Compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
900ifeq ($$(strip $$(SMART_CHECK)),TRUE)
901 @echo [SMART LOG] $$@ target is triggered by: $$?
902endif
903 @perl ./tools/chk_dsp_ase.pl "$$(strip $$(COMPONENT))" "$$(strip $$(DSP_ASE_MODULES))" "$$($(4))"
904 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
905ifeq ($$(strip $$(ACTION)),remake)
906 ifndef CCACHE_DIR
907 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$($(4)) -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
908 else
909 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
910 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$($(4)) -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
911 else
912 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
913 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$($(4)) -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
914 else
915 $(CCACHE) $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$($(4)) -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
916 endif
917 endif
918 endif
919else
920 ifndef CCACHE_DIR
921 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$($(4)) $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
922 else
923 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
924 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$($(4)) $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
925 else
926 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
927 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$($(4)) $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
928 else
929 $(CCACHE) $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$($(4)) $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
930 endif
931 endif
932 endif
933 @$$(ECHO) "$(1):" >> "$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
934endif
935 # mbis time probe
936ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
937 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
938endif
939endef
940
941# %.obj: %.c (tcm)
942# %.obj: %.cpp (tcm)
943define target_compile1_c_obj
944ifneq ($(filter update_lib,$(MAKECMDGOALS)),)
945include $$(wildcard $$(COMPDETS_DIR)/$$(basename $$(notdir $(1))).d)
946endif
947ifeq ($$(strip $$(SMART_CHECK)),TRUE)
948$(2): $$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via
949endif
950$(2): $(1) $$(NEED_CHECK_DEPEND_LIST) ./tools/auto_tcm_attribute.pl $$(filter-out NO_LIST,$$(TARGET_AUTOTCM_LIST))
951 # mbis time probe
952ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
953 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
954endif
955 @echo Pre-compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
956 @$$(IF_EXIST) $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$(THEN) $$(DEL_FILE) $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$(CMD_END)
957ifeq ($$(strip $$(ACTION)),remake)
958 ifndef CCACHE_DIR
959 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -o $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
960 else
961 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
962 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -o $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
963 else
964 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
965 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -o $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
966 else
967 $(CCACHE) $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -o $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
968 endif
969 endif
970 endif
971else
972 ifndef CCACHE_DIR
973 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
974 else
975 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
976 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
977 else
978 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
979 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
980 else
981 $(CCACHE) $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
982 endif
983 endif
984 endif
985 @$$(ECHO) "$(1):" >> "$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
986endif
987 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
988ifneq ($$(strip $$(MODIS_CONFIG)),TRUE)
989ifneq ($$(filter-out NO_LIST,$$(TARGET_AUTOTCM_LIST)),)
990# writing the same log at the same time is protected by OS
991 @perl ./tools/auto_tcm_attribute.pl $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$(TARGET_AUTOTCM_LIST) $$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))_auto_tcm.log >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log 2>&1
992endif
993endif
994 @echo $(3) -c $$($(4)) -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c
995 @$(3) -c $$($(4)) -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$(PROJ_INTERNAL_DIR)/auto_tcm/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
996 # mbis time probe
997ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
998 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
999endif
1000endef
1001
1002# %.obj: %.c (amms_drdi)
1003# %.obj: %.cpp (amms_drdi)
1004define target_compile_c_obj_amms_drdi
1005ifneq ($(filter update_lib,$(MAKECMDGOALS)),)
1006include $$(wildcard $$(COMPDETS_DIR)/$$(basename $$(notdir $(1))).d)
1007endif
1008ifeq ($$(strip $$(SMART_CHECK)),TRUE)
1009$(2): $$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via
1010endif
1011$(2): $(1) $$(NEED_CHECK_DEPEND_LIST) ./tools/auto_amms_drdi_attribute.pl $$(filter-out NO_LIST,$$(TARGET_AMMS_DRDI_LIST))
1012 # mbis time probe
1013ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1014 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1015endif
1016 @echo Pre-compiling $$< to $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1017 @$$(IF_EXIST) $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$(THEN) $$(DEL_FILE) $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$(CMD_END)
1018ifeq ($$(strip $$(ACTION)),remake)
1019 ifndef CCACHE_DIR
1020 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -o $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1021 else
1022 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
1023 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -o $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1024 else
1025 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
1026 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -o $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1027 else
1028 $(CCACHE) $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -o $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1029 endif
1030 endif
1031 endif
1032else
1033 ifndef CCACHE_DIR
1034 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1035 else
1036 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
1037 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1038 else
1039 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
1040 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1041 else
1042 $(CCACHE) $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -E -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1043 endif
1044 endif
1045 endif
1046 @$$(ECHO) "$(1):" >> "$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
1047endif
1048 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
1049ifneq ($$(strip $$(MODIS_CONFIG)),TRUE)
1050ifneq ($$(filter-out NO_LIST,$$(TARGET_AMMS_DRDI_LIST)),)
1051# writing the same log at the same time is protected by OS
1052 @perl ./tools/auto_amms_drdi_attribute.pl $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c $$(TARGET_AMMS_DRDI_LIST) $$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))_auto_amms_drdi.log >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log 2>&1
1053endif
1054endif
1055 @echo $(3) -c $$($(4)) -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c
1056 @$(3) -c $$($(4)) -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$(PROJ_INTERNAL_DIR)/auto_amms/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).c 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1057 # mbis time probe
1058ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1059 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1060endif
1061endef
1062
1063# %.det: %.c
1064# %.det: %.cpp
1065define target_scan_c_det
1066$(2): $(1)
1067 # mbis time probe
1068ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1069 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1070endif
1071 @echo Pre-compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1072 @$(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -M $$< >$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1073 # mbis time probe
1074ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1075 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1076endif
1077endef
1078
1079# %.obj: %.s
1080define target_compile_asm_obj
1081ifneq ($(filter update_lib,$(MAKECMDGOALS)),)
1082include $$(wildcard $$(COMPDETS_DIR)/$$(basename $$(notdir $(1))).d)
1083endif
1084$(2): $(1)
1085 # mbis time probe
1086ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1087 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1088endif
1089 @echo Compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1090 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
1091ifeq ($$(strip $$(ACTION)),remake)
1092 $$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) $$< -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1093else
1094 $$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(AS_depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1095
1096 @$$(ECHO) "$(1):" >> "$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
1097endif
1098# mbis time probe
1099ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1100 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1101endif
1102endef
1103
1104# %.det: %.s
1105define target_scan_asm_det
1106$(2): $(1)
1107 # mbis time probe
1108ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1109 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1110endif
1111 @echo Pre-compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1112 # mbis time probe
1113ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1114 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1115endif
1116endef
1117
1118# %.obj: %.s (-32)
1119define target_compile1_asm_obj
1120ifneq ($(filter update_lib,$(MAKECMDGOALS)),)
1121include $$(wildcard $$(COMPDETS_DIR)/$$(basename $$(notdir $(1))).d)
1122endif
1123$(2): $(1)
1124 # mbis time probe
1125ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1126 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1127endif
1128 @echo Compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1129 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
1130ifeq ($$(strip $$(ACTION)),remake)
1131 ifeq ($$(strip $$(COMPILER)),GCC)
1132 $$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) -mapcs-32 $$< -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1133 endif
1134else
1135 ifeq ($$(strip $$(COMPILER)),GCC)
1136 $$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) -mapcs-32 $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(AS_depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1137 @$$(ECHO) "$(1):" >> "$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
1138 endif
1139endif
1140# mbis time probe
1141ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1142 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1143endif
1144endef
1145
1146# %.obj: %.s (preprocess)
1147define target_compile2_asm_obj
1148ifneq ($(filter update_lib,$(MAKECMDGOALS)),)
1149include $$(wildcard $$(COMPDETS_DIR)/$$(basename $$(notdir $(1))).d)
1150endif
1151$(2): $(1)
1152 # mbis time probe
1153ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1154 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1155endif
1156 @echo Pre-compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1157 @$$(STRCMPEX) abc abc e $$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(A_CDEFS) -D$$(strip $$(PLATFORM))_$$(strip $$(CHIP_VER))=$$(strip $$(PLATFORM))_$$(strip $$(CHIP_VER))
1158ifeq ($$(strip $$(OS_VERSION)),MSWin32)
1159 @tools\warp.exe $$(COMPVIA_DIR)\$$(basename $$(notdir $$@))_det.via
1160endif
1161 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s $$(CMD_END)
1162ifeq ($$(strip $$(ACTION)),remake)
1163 ifndef CCACHE_DIR
1164 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1165 else
1166 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
1167 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1168 else
1169 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
1170 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1171 else
1172 $(CCACHE) $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1173 endif
1174 endif
1175 endif
1176else
1177 ifndef CCACHE_DIR
1178 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1179 else
1180 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
1181 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1182 else
1183 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
1184 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1185 else
1186 $(CCACHE) $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1187 endif
1188 endif
1189 endif
1190endif
1191 @echo Compiling $$< ... >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1192 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
1193ifeq ($$(strip $$(ACTION)),remake)
1194 $$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1195else
1196 $$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1197 @$$(ECHO) "$(1):" >> "$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
1198endif
1199
1200 # mbis time probe
1201ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1202 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1203endif
1204endef
1205
1206# %.det: %.s (preprocess)
1207define target_scan2_asm_det
1208$(2): $(1)
1209 # mbis time probe
1210ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1211 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1212endif
1213 @echo Pre-compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1214 @$$(STRCMPEX) abc abc e $$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(A_CDEFS) -D$$(strip $$(PLATFORM))_$$(strip $$(CHIP_VER))=$$(strip $$(PLATFORM))_$$(strip $$(CHIP_VER)) $$(CINCDIRS)
1215ifeq ($$(strip $$(OS_VERSION)),MSWin32)
1216 @tools\warp.exe $$(COMPVIA_DIR)\$$(basename $$(notdir $$@))_det.via
1217endif
1218 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s $$(CMD_END)
1219ifndef CCACHE_DIR
1220 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1221else
1222 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
1223 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1224 else
1225 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
1226 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1227 else
1228 $(CCACHE) $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1229 endif
1230 endif
1231endif
1232 @$$(IF_EXIST) $$(COMPDETS_DIR)/~$$(basename $$(notdir $$@)).d $$(THEN) \
1233 $$(CAT) $$(COMPDETS_DIR)/~$$(basename $$(notdir $$@)).d | $$(GREP_V) "$$(basename $$(notdir $$@)).s" >>$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d $$(WITH) (exit 0)\
1234 $$(CMD_END)
1235 @$$(IF_EXIST) $$(COMPDETS_DIR)/~$$(basename $$(notdir $$@)).d $$(THEN) $$(DEL_FILE) $$(COMPDETS_DIR)/~$$(basename $$(notdir $$@)).d $$(CMD_END)
1236
1237 # mbis time probe
1238ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1239 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1240endif
1241endef
1242
1243# %.obj: %.s (preprocess and -32)
1244define target_compile3_asm_obj
1245ifneq ($(filter update_lib,$(MAKECMDGOALS)),)
1246include $$(wildcard $$(COMPDETS_DIR)/$$(basename $$(notdir $(1))).d)
1247endif
1248$(2): $(1)
1249# mbis time probe
1250ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1251 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1252endif
1253 @echo Pre-compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1254 @$$(STRCMPEX) abc abc e $$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(A_CDEFS) -D$$(strip $$(PLATFORM))_$$(strip $$(CHIP_VER))=$$(strip $$(PLATFORM))_$$(strip $$(CHIP_VER))
1255ifeq ($$(strip $$(OS_VERSION)),MSWin32)
1256 @tools\warp.exe $$(COMPVIA_DIR)\$$(basename $$(notdir $$@))_det.via
1257endif
1258 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s $$(CMD_END)
1259ifeq ($$(strip $$(ACTION)),remake)
1260 ifndef CCACHE_DIR
1261 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1262 else
1263 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
1264 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1265 else
1266 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
1267 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1268 else
1269 $(CCACHE) $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1270 endif
1271 endif
1272 endif
1273else
1274 ifndef CCACHE_DIR
1275 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1276 else
1277 ifneq ($(filter $(1),$(strip $(CCACHE_EXCLUDE_FILE))),)
1278 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1279 else
1280 ifneq ($$(strip $$(CUSTOM_RELEASE)),FALSE)
1281 $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1282 else
1283 $(CCACHE) $$(CC) $$(VIA)$$(COMPVIA_DIR)/$$(basename $$(notdir $$@))_det.via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(ASM_CPPFLAGS) $$(AFLAGS) -E $$< -MT '$$(COMPOBJS_DIR)/$$(notdir $$@)' $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1284 endif
1285 endif
1286 endif
1287endif
1288 @echo Compiling $$< ... >>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1289 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
1290ifeq ($$(strip $$(ACTION)),remake)
1291 ifeq ($$(strip $$(COMPILER)),GCC)
1292 $$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) -mapcs-32 $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1293 else
1294 @$$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) -32 $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1295 endif
1296else
1297 ifeq ($$(strip $$(COMPILER)),GCC)
1298 $$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) -mapcs-32 $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1299 else
1300 @$$(ASM) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via $$(AFLAGS) $$(EXTRA_AFLAGS) $$(ADEFS) -32 $$(COMPOBJS_DIR)/$$(basename $$(notdir $$@)).s -o $$(COMPOBJS_DIR)/$$(notdir $$@) 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1301 endif
1302 @$$(ECHO) "$(1):" >> "$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
1303endif
1304
1305 # mbis time probe
1306ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1307 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1308endif
1309endef
1310
1311# %.obj: %.c (MoDIS Clang)
1312define modis_clang_compile_c_obj
1313ifneq ($(filter update_lib,$(MAKECMDGOALS)),)
1314include $$(wildcard $$(COMPDETS_DIR)/$$(basename $$(notdir $(1))).d)
1315endif
1316ifeq ($$(strip $$(SMART_CHECK)),TRUE)
1317$(2): $$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via
1318endif
1319$(2): $(1)
1320 # mbis time probe
1321ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1322 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1323endif
1324 @echo Compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1325ifeq ($$(strip $$(SMART_CHECK)),TRUE)
1326 @echo [SMART LOG] $$@ target is triggered by: $$?
1327endif
1328 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
1329ifeq ($$(filter remake_modis,$$(strip $$(ACTION))),)
1330 @echo "$$(strip $$(ClangDir))/bin/clang $$(CFLAGS_CLANG_MODIS_DEP_OPTS) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -MM -MP -MT $$(COMPOBJS_DIR)/$$(notdir $$@) $$< -MF $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
1331 @$$(strip $$(ClangDir))/bin/clang $$(CFLAGS_CLANG_MODIS_DEP_OPTS) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -MM -MP -MT $$(COMPOBJS_DIR)/$$(notdir $$@) $$< -MF $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d
1332 @$$(ECHO) "$(1):" >> "$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
1333endif
1334 @if [[ "$$(LLVM_COVERAGE)" == "" || "$$<" == */ut/* || $$< == */it/* || $$< == */_BUILD_XGEN/* || $$< == *gtest* ]]; then \
1335 echo "$(3) $$(strip $$(CLANG_FOR_DETERMINISTIC)) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via /c $$(CFLAGS) /Fo$$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log" &&\
1336 $(3) $$(strip $$(CLANG_FOR_DETERMINISTIC)) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via /c $$(CFLAGS) /Fo$$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log; \
1337 else \
1338 echo "$(3) $$(strip $$(CLANG_FOR_DETERMINISTIC)) -fprofile-instr-generate -Xclang -fcoverage-mapping $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via /c $$(CFLAGS) /Fo$$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log" &&\
1339 $(3) $$(strip $$(CLANG_FOR_DETERMINISTIC)) -fprofile-instr-generate -Xclang -fcoverage-mapping $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via /c $$(CFLAGS) /Fo$$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log; \
1340 fi
1341 # mbis time probe
1342ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1343 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1344endif
1345endef
1346
1347
1348
1349# %.det: %.c (MoDIS Clang)
1350define modis_clang_scan_c_det
1351$(2): $(1)
1352 # mbis time probe
1353ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1354 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1355endif
1356 @echo Pre-compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1357 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
1358 @$(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -M $$< >$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1359 # mbis time probe
1360ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1361 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1362endif
1363endef
1364
1365# %.obj: %.c (MoDIS)
1366define modis_compile_c_obj
1367include $$(wildcard $$(COMPDETS_DIR)/$$(basename $$(notdir $(1))).d)
1368$(2): $(1)
1369 # mbis time probe
1370ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1371 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1372endif
1373 @echo Compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1374 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
1375ifeq ($$(strip $$(ACTION)),remake)
1376 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$(CFLAGS) -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1377else
1378 $(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -c $$(CFLAGS) $$(depend) $$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d -o $$(COMPOBJS_DIR)/$$(notdir $$@) $$< 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1379 @$$(ECHO) "$(1):" >> "$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d"
1380endif
1381 # mbis time probe
1382ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1383 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1384endif
1385endef
1386
1387
1388# %.det: %.c (MoDIS)
1389define modis_scan_c_det
1390$(2): $(1)
1391 # mbis time probe
1392ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1393 @$$(ECHO) -n -t "T_S,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1394endif
1395 @echo Pre-compiling $$< ... >$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1396 @$$(IF_EXIST) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(THEN) $$(DEL_FILE) $$(COMPOBJS_DIR)/$$(notdir $$@) $$(CMD_END)
1397 @$(3) $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT)).via $$(VIA)$$(COMPVIA_DIR)/$$(strip $$(COMPONENT))_inc.via -M $$< >$$(COMPDETS_DIR)/$$(basename $$(notdir $$@)).d 2>>$$(strip $$(COMPLOGDIR))/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@)).log
1398 # mbis time probe
1399ifeq ($$(strip $$(MBIS_EN_OBJ_LOG)),TRUE)
1400 @$$(ECHO) -n -t "T_E,$$(@F),O," >> $$(strip $$(COMPLOGDIR))/mbis/$$(strip $$(COMPONENT))/$$(basename $$(notdir $$@))".mbis"
1401endif
1402endef
1403
1404
1405ifneq ($(strip $(MODIS_CONFIG)),TRUE)
1406 ifeq ($(filter __L1_KW_SCAN__,$(DEFINES)),)
1407 ifdef SRC_RULE_ADT_CODEGEN
1408 $(foreach argu,$(SRC_RULE_ADT_CODEGEN), \
1409 $(eval $(call target_adt_codegen,$(TARGET_ADT_CODEGEN_LIST), $(strip $(ADT_RULESDIR))/$(strip $(COMPONENT))/$(argu).c,$(SRC_PERL_ADT_CODEGEN),$(argu))) \
1410 )
1411 endif
1412 endif
1413
1414$(foreach argu,$(CSRCS_AMMS_DRDI), \
1415 $(eval COBJ_AMMS_DRDI := $(patsubst %.C,%, $(patsubst %.c,%, $(patsubst %.cpp,%, $(notdir $(argu)))))) \
1416 $(eval $(call target_compile_c_obj_amms_drdi,$(argu),$(strip $(COMPOBJS_DIR))/$(COBJ_AMMS_DRDI).obj,$(CC),$(if $(filter %.cpp,$(argu)),CPLUSFLAGS,CFLAGS))) \
1417 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(COBJ_AMMS_DRDI).obj) \
1418)
1419
1420$(foreach argu,$(CSRCS), \
1421 $(eval COBJ := $(patsubst %.C,%, $(patsubst %.c,%, $(patsubst %.cpp,%, $(notdir $(argu)))))) \
1422 $(eval $(call target_compile_c_obj,$(argu),$(strip $(COMPOBJS_DIR))/$(COBJ).obj,$(CC),$(if $(filter %.cpp,$(argu)),CPLUSFLAGS,CFLAGS))) \
1423 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(COBJ).obj) \
1424)
1425
1426$(foreach argu,$(CSRCS1), \
1427 $(eval COBJ1 := $(patsubst %.C,%, $(patsubst %.c,%, $(patsubst %.cpp,%, $(notdir $(argu)))))) \
1428 $(eval $(call target_compile1_c_obj,$(argu),$(strip $(COMPOBJS_DIR))/$(COBJ1).obj,$(CC),$(if $(filter %.cpp,$(argu)),CPLUSFLAGS,CFLAGS))) \
1429 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(COBJ1).obj) \
1430)
1431
1432$(foreach argu,$(CSRCS5), \
1433 $(eval COBJ5 := $(patsubst %.C,%, $(patsubst %.c,%, $(patsubst %.cpp,%, $(notdir $(argu)))))) \
1434 $(eval $(call target_compile_c_obj,$(argu),$(strip $(COMPOBJS_DIR))/$(COBJ5).obj,$(CC32),$(if $(filter %.cpp,$(argu)),CPLUSFLAGS,CFLAGS))) \
1435 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(COBJ5).obj) \
1436)
1437
1438$(foreach argu,$(CSRCS6), \
1439 $(eval COBJ6 := $(patsubst %.C,%, $(patsubst %.c,%, $(patsubst %.cpp,%, $(notdir $(argu)))))) \
1440 $(eval $(call target_compile1_c_obj,$(argu),$(strip $(COMPOBJS_DIR))/$(COBJ6).obj,$(CC32),$(if $(filter %.cpp,$(argu)),CPLUSFLAGS,CFLAGS))) \
1441 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(COBJ6).obj) \
1442)
1443
1444$(foreach argu,$(ASRCS), \
1445 $(eval AOBJ := $(patsubst %.S,%, $(patsubst %.s,%, $(patsubst %.arm,%, $(notdir $(argu)))))) \
1446 $(eval $(call target_compile2_asm_obj,$(argu),$(strip $(COMPOBJS_DIR))/$(AOBJ).obj)) \
1447 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(AOBJ).obj) \
1448)
1449
1450$(foreach argu,$(ASRCS1), \
1451 $(eval AOBJ1 := $(patsubst %.S,%, $(patsubst %.s,%, $(notdir $(argu))))) \
1452 $(eval $(call target_compile3_asm_obj,$(argu),$(strip $(COMPOBJS_DIR))/$(AOBJ1).obj)) \
1453 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(AOBJ1).obj) \
1454)
1455
1456$(foreach argu,$(ASRCS2), \
1457 $(eval AOBJ2 := $(patsubst %.S,%, $(patsubst %.s,%, $(notdir $(argu))))) \
1458 $(eval $(call target_compile2_asm_obj,$(argu),$(strip $(COMPOBJS_DIR))/$(AOBJ2).obj)) \
1459 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(AOBJ2).obj) \
1460)
1461
1462else
1463
1464ifeq ($(strip $(MODIS_COMPILER)),CLANG)
1465$(foreach argu,$(filter %.c %.cpp,$(SRC_LIST)), \
1466 $(eval COBJ := $(patsubst %.c,%, $(patsubst %.cpp,%, $(notdir $(argu))))) \
1467 $(eval $(call modis_clang_compile_c_obj,$(argu),$(strip $(COMPOBJS_DIR))/$(COBJ).obj,$(CC_MODIS))) \
1468 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(COBJ).obj) \
1469)
1470
1471else
1472$(foreach argu,$(filter %.c %.cpp,$(SRC_LIST)), \
1473 $(eval COBJ0 := $(patsubst %.c,%, $(patsubst %.cpp,%, $(notdir $(argu))))) \
1474 $(eval $(call modis_compile_c_obj,$(argu),$(strip $(COMPOBJS_DIR))/$(COBJ0).obj,$(CC_MODIS))) \
1475 $(eval $(TARGLIB): $(strip $(COMPOBJS_DIR))/$(COBJ0).obj) \
1476)
1477endif
1478
1479endif