【发布时间】:2019-06-09 09:00:27
【问题描述】:
取下面的makefile sn -p:
VAR_LIST = "item1" "item2" "item 3 that has spaces" "item4"
ARGS = $(addprefix echo ,$(VAR_LIST))
我想要实现的是让 ARGS 包含:
echo "item1" echo "item2" echo "item 3 that has spaces" echo "item4"
我不知道如何解决的是像 addprefix 这样的函数作用于空格...
【问题讨论】:
-
你想用这个解决什么更大的问题?
-
@MaximEgorushkin 我想要一个 makefile 用户可以填写的 doxygen 配置变量。这些项目看起来像
"VAR=Some Value"。然后我需要将它们中的每一个转换成如下所示的内容:; echo "VAR=Some Value",其中分号是列表分隔符。然后我将它输入到 doxygen 命令中。在此处查看第一个答案:stackoverflow.com/questions/11032280/…。这有意义吗? -
@MaximEgorushkin 我可以让用户添加这样的项目:
; echo "VAR=some value"...但这看起来像是强加给用户的可怕语法...目前我说他们可以使用只有没有空格的值(大部分都可以)。 -
不确定你需要的东西是否可以通过 make 轻松实现。我会为此使用 shell 或 python 脚本。
-
@MaximEgorushkin 是的,我想我和你在一起。可能有一些可怕的 make 函数可以应用,但它真的很复杂(如果可能的话)。我已经看到了一些非常聪明/可怕的代码!...但是正如你所说,使用脚本! - 我只是没想到,好主意 - 随时添加作为答案:)