lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 1 | # /*****************************************************************************
|
| 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 |
|
| 30 | ifeq ($(USE_ENABLE_LTO),yes)
|
| 31 | ifneq ($(DISABLE_LTO_ONCE),yes)
|
| 32 | CCFLAGS += -flto -fno-toplevel-reorder -fno-fat-lto-objects
|
| 33 | endif
|
| 34 | endif
|
| 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)
|
| 48 | ifeq ($(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 $@
|
| 50 | else
|
| 51 | $(VERB)$(CC) $(CCFLAGS) $(CPU_PUB_DEFINE) $(DEFINE) -Wno-builtin-macro-redefined -U __FILE__ -D '__FILE__="$(shell basename $<)"' $(STDINCLUDE) $(INCLUDE) -c $< -o $@
|
| 52 | endif |
| 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 |
|
| 72 | ifeq ($(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!
|
| 81 | endif
|
| 82 |
|
| 83 | #===============================================================================
|
| 84 | #Ä£¿é¹æÔò
|
| 85 | #===============================================================================
|
| 86 | default: mdl
|
| 87 | clean: mdlclean
|
| 88 |
|
| 89 | mdl:$(_ALL_OBJECTS) $(_ALL_LINT)
|
| 90 | @$(ECHO) Compile module $(_MDL_NAME) done!
|
| 91 | @$(ECHO) ""
|
| 92 |
|
| 93 | mdlclean:
|
| 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) "" |