我想写下这些内容:
$(foreach (var1, var2), ($(LIST1), $(LIST2)), cp $(var1) $(var2);)
Run Code Online (Sandbox Code Playgroud)
我如何在GNU makefile中执行此操作?
Mad*_*ist 10
Beta建议使用join是正确的,但问题是,以构造包含空格的命令行的方式使用它并不容易,例如你最初想要的那个:
$(foreach (var1, var2), ($(LIST1), $(LIST2)), cp $(var1) $(var2);)
Run Code Online (Sandbox Code Playgroud)
因为join将单词连接在一起:它最初用于构造文件名.但是你可以玩耍; 这是一个使用连接的方法的示例,它为您提供所需的输出:
$(subst ^, ,$(join $(addprefix cp^,$(LIST1)),$(patsubst %,^%;,$(LIST2))))
Run Code Online (Sandbox Code Playgroud)
如果您认为您的列表可能包含^字符,请选择其他内容.如果您需要解压缩/解释,请告诉我.