1. 程式人生 > >Linux之Makefile(filter)

Linux之Makefile(filter)

$(filter PATTERN…,TEXT) 
函式名稱:過濾函式—filter。 
函式功能:過濾掉字串“TEXT”中所有不符合模式“PATTERN”的單詞,保留所
有符合此模式的單詞。可以使用多個模式。模式中一般需要包含模式字
符“%”。存在多個模式時,模式表示式之間使用空格分割。 
返回值:空格分割的“TEXT”字串中所有符合模式“PATTERN”的字串。 
函式說明:“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”,函式返回
值為“foo.c bar.c baz.s”