gpt4 book ai didi

makefile - GNU Make for 带有两个变量的循环

转载 作者:行者123 更新时间:2023-12-02 21:23:34 24 4
gpt4 key购买 nike

我想写一些这样的内容:

$(foreach (var1, var2), ($(LIST1), $(LIST2)), cp $(var1) $(var2);)

如何在 GNU makefile 中执行此操作?

最佳答案

Beta 建议使用 join 是正确的,但问题是,以一种构造包含空格的命令行的方式(例如您最初想要的那样)来使用它并不那么容易:

$(foreach (var1, var2), ($(LIST1), $(LIST2)), cp $(var1) $(var2);)

因为 join 将单词连接在一起:它最初是用于构造文件名。不过你可以玩个把戏;以下是使用 join 的方法示例,它可以为您提供所需的输出:

$(subst ^, ,$(join $(addprefix cp^,$(LIST1)),$(patsubst %,^%;,$(LIST2))))

如果您认为您的列表可能包含 ^ 字符,请选择其他字符。如果您需要解压/解释,请告诉我。

关于makefile - GNU Make for 带有两个变量的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9622606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com