如何在Makefile中连接字符串?

斯科特·迪尔韦斯特

我有一个运行pandoc的Makefile。我想列出一个扩展列表:

PANDOC_EXTENSIONS = \
        multiline_tables \
        some_other_extension

变成一个看起来像这样的字符串:

PANDOC_EXTENSION_LIST = +multiline_tables+some_other_extension

然后将其作为命令行选项传递给pandoc,如下所示:

pandoc --from$(PANDOC_EXTENSION_LIST) ...

在几乎所有编程语言中,它都是微不足道的,但是我无法弄清楚如何使用patsubst或subst函数来执行此操作,因为make确实没有列表。有任何想法吗?

迈克·金汉

这里:

生成文件

PANDOC_EXTENSIONS = \
        multiline_tables \
        some_other_extension


$(foreach word,$(PANDOC_EXTENSIONS),$(eval PANDOC_EXTENSION_LIST := $(PANDOC_EXTENSION_LIST)+$(word)))

.PHONY: all

all:
    echo $(PANDOC_EXTENSION_LIST)

运行方式如下:

$ make
echo +multiline_tables+some_other_extension
+multiline_tables+some_other_extension

如此说明,GNU make确实具有列表。一个由空格分隔的单词序列是一个列表。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章