Makefile中的 wildcard patsubst

//参考跟我一起写Makefile这文件名操作函数
#Build with external xelog.h
CFLAGS += -DCONFIG_USE_EXTERNAL_XELOG=1
#CFLAGS += -UCONFIG_USE_EXTERNAL_XELOG

LDFLAGS += -lpthread 

SRC_FILES := $(wildcard *.c)   
ALL_BINS := $(patsubst %.c, %.bin, $(SRC_FILES))
DEP_FILES := $(addsuffix .d,$(basename $(SRC_FILES)))

%.bin:%.c
 $(CC) -o $@ $(CFLAGS) $<  $(LIB_A) $(LDFLAGS)

.PHONY: all clean

all: $(LIB_A) $(ALL_BINS)
 chmod +x $(ALL_BINS)
 rm -rf $(DEP_FILES)
 @echo "build test_local finish"

clean:
 rm -rf $(ALL_BINS) $(DEP_FILES)
 
ifneq ($(MAKECMDGOALS),clean)
-include $(DEP_FILES)
endif
1) wildcard函数

     它有一个参数,功能是展开成一列所有符合由其参数描述的文件名,文件间以空格间隔。

2)patsubst
$(patsubst <pattern>,<replacement>,<text>)
名称:模式字符串替换函数——patsubst。
功能:查找<text>中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式<pattern>,如果匹配的话,则以<replacement>替换。这里,<pattern>可以包括通配符“%”,表示任意长度的字串。如果<replacement>中也包含“%”,那么,<replacement>中的这个“%”将是<pattern>中的那个“%”所代表的字串。(可以用“\”来转义,以“\%”来表示真实含义的“%”字符)
返回:函数返回被替换过后的字符串。

3)addsuffix
$(addsuffix <suffix>,<names...>)
名称:加后缀函数——addsuffix。
功能:把后缀<suffix>加到<names>中的每个单词后面。
返回:返回加过后缀的文件名序列。
示例:$(addsuffix .c,foo bar)返回值是“foo.c bar.c”


 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值