我用来在Makefile中使用通配符,以便选择名称中以.c后缀结尾的所有文件.那看起来像那样SRCS := $(wildcard *.c).在Makefile的其他部分SRCS使用.
我现在需要做的是防止给定的文件包含在SRCS变量中.我发现的方法是将shell指令与一些控制台命令结合起来:SRC :=$(shell find . -name "*.c" | grep -v "file_to_exclude.c" | xargs)
这工作正常,但我想知道是否还有一些比仅使用通配符更优雅的方式.
你可以使用$(filter-out P,T)命令......
SRCS := $(filter-out icky-file.c,$(wildcard *.c))
Run Code Online (Sandbox Code Playgroud)
当然,使用shell脚本几乎可以把事情带到另一个层面,因为那时你不受Make的命令约束.
有一堆不想要的?
NOWANTS := one.c two.c three.c
SRCS := $(filter-out $(NOWANTS),$(wildcard *.c))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2133 次 |
| 最近记录: |