make某个模块

############################################################
# module.mak 用于单独模块编译
############################################################
include $(_COMMON_MAKE_PATH)/cpucompileoptioncfg.mak
include $(_DIV_SOURCE_PATH)/all_cfg.mak

FUNC_TYPE   = PS_MP
MODULE_NAME = $(MAKECMDGOALS)
TMP_PATH    = $(_TARGET_PATH)/tmp 

# 路径信息
SRC_PATH    = $(_PS_PATH)/$(MODULE_NAME)/source
OBJ_PATH    = $(TMP_PATH)/$(MODULE_NAME)/obj
DEP_PATH    = $(TMP_PATH)/$(MODULE_NAME)/dep
MODULE_OBJ  = $(TMP_PATH)/$(MODULE_NAME).obj

SRCS  = $(wildcard $(SRC_PATH)/*.c)
OBJS  = $(addprefix $(OBJ_PATH)/,$(subst .c,.o,$(notdir $(SRCS))))
DEPS  = $(addprefix $(DEP_PATH)/,$(subst .c,.d,$(notdir $(SRCS))))

# 终极目标: module.obj
$(MODULE_NAME):$(MODULE_OBJ)

$(MODULE_OBJ):$(OBJS)
	$(LD) -r -o $@ $+
	@echo ouput $@
	
$(DEP_PATH)/%.d:$(SRC_PATH)/%.c
	@echo . create dep file $@
	@if [ ! -d $(DEP_PATH) ]; then $(MKDIR) $(DEP_PATH); fi
	$(CC) $(ALL_DEPCFLAGS) -c $< | \
	   sed "s/$*\.o[ :]*/$(subst /,\/,$(OBJ_PATH))\/$*.o \
	   $(subst /,\/,$(DEP_PATH))\/$*.d \: /g" > $@
	   
$(OBJ_PATH)/%.o:$(SRC_PATH)/*.c
	@echo . compiling file: $<
	@if [ ! -d $(OBJ_PATH) ]; then $(MKDIR) $(OBJ_PATH); fi
	$(CC) $(ALL_CFLAGS) -o $@ -c $<

# clean一般是最后一个目标
clean:
	@rm -rf $(TMP_PATH)
	
# 包括依赖文件	
-include $(DEPS)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值