繁体   English   中英

Gnu Make 变量替换表达式可以匹配多个模式吗?

[英]Can a Gnu Make variable substitution expression match more than one pattern?

假设我有一个混合后缀的文件列表,例如 .cpp 和 .c,我想制作一个列表,其中每个.cpp 和每个.c 扩展名都更改为.o。 我意识到我可以多次按顺序处理我的列表,一个用于每个感兴趣的扩展。 但是有没有一种方法可以使用变量替换来一步完成呢?

您可以通过重复应用使用通常的功能样式连接:

FILES := a.c b.cpp c.cxx
OBJECTS := $(patsubst %.c,%.o,$(patsubst %.cpp,%.o,$(patsubst %.cxx,%.o,$(FILES))))

您总是可以删除任何后缀,如下所示:

OBJECTS := $(addsuffix .o,$(basename $(FILES)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM