blob: a0089267a6f1ba6ad5ca1d15832501f2ca26acf4 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001# /*****************************************************************************
2#* °æÈ¨ËùÓÐ (C)2015, ÖÐÐËͨѶ¹É·ÝÓÐÏÞ¹«Ë¾¡£
3#*
4#* ÎļþÃû³Æ: mdl_rules.mk
5#* Îļþ±êʶ: mdl_rules.mk
6#* ÄÚÈÝÕªÒª: Ä£¿éÎļþ¹æÔò
7#* ʹÓ÷½·¨: include mdl_rules.mk
8#*
9#* ÐÞ¸ÄÈÕÆÚ °æ±¾ºÅ Ð޸ıê¼Ç ÐÞ¸ÄÈË ÐÞ¸ÄÄÚÈÝ
10#* -----------------------------------------------------------------------------
11#* 2015/05/20 V1.0 ÕûºÏ ÁõÑÇÄÏ ÕûºÏ
12#*
13# ******************************************************************************/
14
15#===============================================================================
16# ¶ÔÏóÎļþ¼¯ºÏ¹æÔò
17#===============================================================================
18_ALL_OBJECTS = $(addprefix $(_MDL_OBJ_PATH)/, \
19 $(subst .c,.o, $(notdir $(_C_SOURCE))))
20
21_ALL_OBJECTS += $(addprefix $(_MDL_OBJ_PATH)/, \
22 $(subst .cpp,.o, $(notdir $(_CPP_SOURCE))))
23
24_ALL_OBJECTS += $(addprefix $(_MDL_OBJ_PATH)/, \
25 $(subst .s,.o, $(notdir $(_s_SOURCE))))
26
27_ALL_OBJECTS += $(addprefix $(_MDL_OBJ_PATH)/, \
28 $(subst .S,.o, $(notdir $(_S_SOURCE))))
29
30ifeq ($(USE_ENABLE_LTO),yes)
31ifneq ($(DISABLE_LTO_ONCE),yes)
32 CCFLAGS += -flto -fno-toplevel-reorder -fno-fat-lto-objects
33endif
34endif
35
36#===============================================================================
37# ¶ÔÏóÎļþÉú³É¹æÔò
38#===============================================================================
39$(_MDL_OBJ_PATH)/%.o:$(_MDL_SRC_PATH)/%.cpp
40 @$(ECHO) Compile $<
41 @-$(MKDIR) $(_MDL_OBJ_PATH)
42 $(VERB)$(CXX) $(CXXFLAGS) $(CPU_PUB_DEFINE) $(DEFINE) $(STDINCLUDE) $(INCLUDE) -c $< -o $@
43 @$(ECHO) Done!
44
45$(_MDL_OBJ_PATH)/%.o:$(_MDL_SRC_PATH)/%.c
46 @$(ECHO) Compile $<
47 @-$(MKDIR) $(_MDL_OBJ_PATH)
48ifeq ($(CONFIG_MIN_8M_VERSION), y)
49 $(VERB)$(CC) $(CCFLAGS) $(CPU_PUB_DEFINE) $(DEFINE) -Wno-builtin-macro-redefined -U __FILE__ -D '__FILE__=""' $(STDINCLUDE) $(INCLUDE) -c $< -o $@
50else
51 $(VERB)$(CC) $(CCFLAGS) $(CPU_PUB_DEFINE) $(DEFINE) -Wno-builtin-macro-redefined -U __FILE__ -D '__FILE__="$(shell basename $<)"' $(STDINCLUDE) $(INCLUDE) -c $< -o $@
52endif
53 @$(ECHO) Done!
54
55$(_MDL_OBJ_PATH)/%.o:$(_MDL_SRC_PATH)/%.S
56 @$(ECHO) Compile $<
57 @-$(MKDIR) $(_MDL_OBJ_PATH)
58 @$(CC) $(CCFLAGS) $(ASFLAGS) $(CPU_PUB_DEFINE) $(DEFINE) -o $@ $(INCLUDE) $<
59 @$(ECHO) Done!
60
61$(_MDL_OBJ_PATH)/%.o:$(_MDL_SRC_PATH)/%.s
62 @$(ECHO) Compile $<
63 @-$(MKDIR) $(_MDL_OBJ_PATH)
64 @$(ASM) $(ASFLAGS) -o $@ $(INCLUDE) $<
65 @$(ECHO) Done!
66
67#===============================================================================
68#¼ì²é¹æÔò
69#===============================================================================
70_ALL_LINT =
71
72ifeq ($(LINTCHK), yes)
73_ALL_LINT = $(addprefix $(_MDL_OBJ_PATH)/lnt/, \
74 $(subst .c,.lnt, $(notdir $(_C_SOURCE))))
75
76$(_MDL_OBJ_PATH)/lnt/%.lnt:$(_MDL_SRC_PATH)/%.c
77 @$(ECHO) Lint $<
78 @-$(MKDIR) $(_MDL_OBJ_PATH)/lnt
79 @$(PCLINT) -u -b +fdi $(INCLUDE) $(STDINCLUDE) $(CPU_PUB_DEFINE) $(DEFINE) $(LINTOPTION) $<>>$(OBJ_PATH)/$(PRJ_NAME).lnt
80 @$(ECHO) Done!
81endif
82
83#===============================================================================
84#Ä£¿é¹æÔò
85#===============================================================================
86default: mdl
87clean: mdlclean
88
89mdl:$(_ALL_OBJECTS) $(_ALL_LINT)
90 @$(ECHO) Compile module $(_MDL_NAME) done!
91 @$(ECHO) ""
92
93mdlclean:
94 @-$(RM) $(_MDL_OBJ_PATH)/lnt/*
95 @-$(RMDIR) $(_MDL_OBJ_PATH)/lnt
96 @-$(RM) $(_MDL_OBJ_PATH)/*
97 @-$(RM) $(OBJ_PATH)/$(PRJ_NAME).lnt
98 @-$(RMDIR) $(_MDL_OBJ_PATH)
99 @$(ECHO) "--- clean obj file $(_MDL_OBJ_PATH)/* done."
100 @$(ECHO) ""