如何在Makefile字符串中搜索整个单词?
我需要一个方法来搜索一个子串,如果它是一个完整的字 理想情况下,我需要一个函数(比如如何在Makefile字符串中搜索整个单词?,makefile,Makefile,我需要一个方法来搜索一个子串,如果它是一个完整的字 理想情况下,我需要一个函数(比如findwstring()),这样两个示例, $(FindString a,AB c) $(FindString a,角度b c) 应分别生成值“a”和“”(空字符串) 我找不到任何能帮助我的东西 $(filter a, a b c) 产生'a' $(filter a, angle b c) 产生'' 搜索字符串中的百分比(%)被视为通配符 从您链接的文档(实际上是右下方的函数findstring),黑体我的
findwstring()
),这样两个示例,$(FindString a,AB c)
$(FindString a,角度b c)
应分别生成值“a”和“”(空字符串) 我找不到任何能帮助我的东西
$(filter a, a b c)
产生'a'
$(filter a, angle b c)
产生''
搜索字符串中的百分比(%
)被视为通配符
从您链接的文档(实际上是右下方的函数findstring
),黑体我的:
返回文本中与任何模式词匹配的所有空格分隔词,删除任何不匹配的词。这些模式是使用“%”编写的,就像上面的patsubst
函数中使用的模式一样
filter
函数可用于分离变量中不同类型的字符串(如文件名)。例如:
sources := foo.c bar.c baz.s ugh.h
foo: $(sources)
cc $(filter %.c %.s,$(sources)) -o foo
表示foo
依赖于foo.c
,bar.c
,baz.s
和ugh.h
,但只有foo.c
,bar.c
和baz.s
应该在编译器的命令中指定
sources := foo.c bar.c baz.s ugh.h
foo: $(sources)
cc $(filter %.c %.s,$(sources)) -o foo