Makefile追加两次通配符匹配(Makefile append wildcard match twice)

编程入门 行业动态 更新时间:2024-10-26 14:32:53
Makefile追加两次通配符匹配(Makefile append wildcard match twice)

我有像somename.in othername.in yetanothername.in输入文件,并希望他们在一个单独的文件夹作为输出: somename/somename.out othername/othername.out yetanothername/yetanothername.out

这怎么可以用Makefile来完成? 这不起作用,因为通配符只能附加一次。

IN = somename.in othername.in yetanothername.in OUT = $(IN:%.in=%/%.out) all: @echo '${OUT}'

给出这个输出:somename /%。out othername /%。out yetanothername /%。out

I have input files like somename.in othername.in yetanothername.in and want them in a separate folder as output: somename/somename.out othername/othername.out yetanothername/yetanothername.out

How can this be done with a Makefile? This does not work, because the wildcard can only be appended once.

IN = somename.in othername.in yetanothername.in OUT = $(IN:%.in=%/%.out) all: @echo '${OUT}'

gives this output: somename/%.out othername/%.out yetanothername/%.out

最满意答案

这是一个肮脏的黑客,但这有效:

IN = somename.in othername.in yetanothername.in OUT = $(foreach file, $(IN:%.in=%), $(file)/$(file).out) all: @echo '${OUT}'

我不确定这是否是GNU制作特定的。

It's something of a dirty hack, but this works:

IN = somename.in othername.in yetanothername.in OUT = $(foreach file, $(IN:%.in=%), $(file)/$(file).out) all: @echo '${OUT}'

I'm not sure if this is GNU make-specific.

更多推荐

本文发布于:2023-08-07 07:49:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1462927.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:通配符   两次   Makefile   match   wildcard

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!