Makefile-filter和filter-out

    技术2023-06-13  85

    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”  

     

    filter-out:代表从目标串中过滤掉符合匹配规则的。

    示例:  objects=main1.o foo.o main2.o bar.o  mains=main1.o main2.o    $(filter-out $(mains),$(objects))  实现了去除变量“objects”中“mains”定义的字串(文件名)功能。它的返回值 为“foo.o bar.o”。

     

    Processed: 0.030, SQL: 9