概述
Demo 1:
2.Makefile 内容
define .Leotest
echo $(wildcard *.c)
@echo $(strip $(Astr)) $(strip $(Bstr)) $(strip $(Cstr))a
@echo $(filter aabc ccd, $(Cstr)) $(filter bb, $(Cstr)) $(filter $(Cstr), ccd aabc)
@echo $(src)
@echo $(src1)
@echo $(dira)
@echo $(fil)
endef
Astr:=
123
Bstr:= 4 5 6
Cstr:= aabc
bbc
ccd
src:=$(wildcard *.c ./subs/*.c)
src1:=$(wildcard *.c)
dira:=$(notdir $(src))
fil:=$(patsubst %.c, %.o, $(src))
all:
$(call .Leotest)
3.输出:make
echo 3.c 1.c 2.c
3.c 1.c 2.c
123 4 5 6 aabc bbc ccda
aabc ccd ccd aabc
3.c 1.c 2.c ./subs/5.c ./subs/7.c ./subs/6.c
3.c 1.c 2.c
3.c 1.c 2.c 5.c 7.c 6.c
3.o 1.o 2.o ./subs/5.o ./subs/7.o ./subs/6.o
4.总结
1.define xxx 类似于定义一个函数名字,使用$(call xxx)调用
2.$(wildcard *.c) 类似于find . -name *.c (wildcard 通配符,就是展开指定目录的指定文件)
3.变量最好用()包起来,类似$(strip $(Astr)) ,其中$(Astr)是一个$(strip $(xxX))是一个
4.@是表示不输出显示当前行make命令
摘抄:
原文:http://t.zoukankan.com/black-mamba-p-9660237.html
#$(strip <string> )
#名称:去空格函数——strip。
#功能:去掉<string>字串中开头和结尾的空字符,并将中间的多个连续空字符(如果有的话)合并为一个空字符。
#返回:返回被去掉空格的字符串值。
#说明: 空字符包括 空格,tab等不可显示的字符
#把字串" abc"开头的空格去掉,结果是"abc"。
str1 :=
abc
str2 := abc
str3 := a b
c
all:
@echo bound$(strip $(str1))bound
@echo bound$(strip $(str2))bound
@echo bound$(strip $(str3))bound
$(filter PATTERN…,TEXT)
函数名称:过滤函数—filter。
函数功能:过滤掉字串“TEXT”中所有不符合模式“PATTERN”的单词,保留所
有符合此模式的单词。可以使用多个模式。模式中一般需要包含模式字
符“%”。存在多个模式时,模式表达式之间使用空格分割。
返回值:空格分割的“TEXT”字串中所有符合模式“PATTERN”的字串。
函数说明:“filter”函数可以用来去除一个变量中的某些字符串,我们下边的例子中
就是用到了此函数
————————————————
版权声明:本文为CSDN博主「骆驼日记」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zhoudengqing/article/details/41777957
格式:$(patsubst <pattern>,<replacement>,<text> )
名称:模式字符串替换函数——patsubst。
功能:查找<text>中的单词(单词以“空格”、“Tab”或“回车”“换行”分隔)是否符合模式<pattern>,如果匹配的话,则以<replacement>替换。这里,<pattern>可以包括通配符“%”,表示任意长度的字串。如果<replacement>中也包含“%”,那么,<replacement>中的这个“%”将是<pattern>中的那个“%”所代表的字串。(可以用“”来转义,以“%”来表示真实含义的“%”字符)
返回:函数返回被替换过后的字符串。
最后
以上就是幸福面包为你收集整理的[Makefile]-1.Makefile一些常用指令的全部内容,希望文章能够帮你解决[Makefile]-1.Makefile一些常用指令所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复