在Makefile中,filter函数是一个非常有用的函数,它可以用来过滤出符合条件的字符串。 一、filter函数的基本语法 filter函数的基本语法如下: $(filter pattern…,text) 其中,pattern表示要匹配的模式,可以使用通配符。text表示要过滤的字符串列表,多个字符串之间用空格分隔。 例如: $(filter %.c, foo.c bar.h ...
函数说明:“filter”函数可以用来去除一个变量中的某些字符串,我们下边的例子中 就是用到了此函数。 示例: sources := foo.c bar.c baz.s ugh.h foo: $(sources) cc $(filter %.c %.s,$(sources)) -o foo 使用“$(filter %.c %.s,$(sources))”的返回值给 cc 来编译生成目标“foo”,函数返...
Makefile filter函数是一种特殊的函数,它允许 makefile 中的模式替换标记来选择满足特定条件的字符串。它使得创建复杂的makefile,成为可能。二、makefile filter函数的种类及作用 1. filter:可以检测一个字符串中是否存在指定的子串,如果存在,则返回该子串,否则返回空值。2. filter-out:它可以选择一个字符串中...
foo:(sources)cc(sources)cc(filter %.c %.s,$(sources)) -o foo (filter(filter(sources))返回的值是“foo.c bar.c baz.s”。 $(filter-out <pattern…>,<text> ) 名称:反过滤函数——filter-out。 功能:以<pattern>模式过滤<text>字符串中的单词,去除符合模式<pattern>的单词。可以有多个模式。
1、filter 函数格式:$(filter<pattern...>,<text>) filter函数表示以pattern模式过滤text字符串中的单词,仅保留符合pattern的单词,可以有多个pattern。 函数的返回值就是符合pattern的字符串。 2、filter-out 函数格式:$(filter-out<pattern...>,<text>) ...
$(filter %.elc,$(files)): %.elc: %.el emacs -f batch-byte-compile $< $(filter %.o,$(files))表示调用Makefile的filter函数,过滤“$filter”集,只要其中模式为“%.o”的内容。其的它内容,我就不用多说了吧。这个例字展示了Makefile中更大的弹性。
$(filter-out <pattern...>,<test>) source := foo.c bar.c bas.s uo.h result := $(filter-out %.c %.s,$(source)) #在多种格式中排除.c,.s的文件 # uo.h 控制函数(信息打印函数) info —— 打印提示信息 向标准输出打印文本 ,用于输出调试信息,make继续执行 ...
filter函数是过滤后面的字符串,返回符合的字符串 比如:source := a.s b.c c.cpp (filter %.c %.s, $(source)) 返回的是a.s b.c 像你上面那个应该是返回空,但是为什么要那么用filter函数呢?每个函数都有适用的场景,这个函数是说有多个字符串,通过模式取出其中符合的字符串,像你这个一...
这个函数和filter的用法是一样的只不过,作用刚好相反,filter是保存符合条件的字符串,filter-out是保存...