从Makefile生成文本文件的好方法是什么?

时间:2011-12-30 08:44:13

标签: python makefile

我的构建过程使用了大量第三方实用程序。其中许多实用程序需要使用ASCII文本文件进行配置。我想从Makefile生成这些短文本文件。我知道如何使用echo命令一次写一行文本文件然后重定向输出的唯一方法是这样:

foo.script: bar.prj
        touch $@
        echo run >>$@
        echo -input bar.prj >>$@
        echo -output baz.out >>$@

这有点难看。更糟糕的是,我正在从Python程序生成Makefile。所以实际的代码看起来更像是这样:

TEMPLATE="""{target}: {input}
        touch $@
        echo run >>$@
        echo -input {input} >>$@
        echo -output {output} >>%@"""
TEMPLATE.format(target='foo.script',input='bar.prj',output='baz.out')

这非常难以阅读和维护。有谁知道更好的方法吗?

解答:

不要从Make生成文本。调用用一种语言编写的脚本,以便更容易生成文本。

1 个答案:

答案 0 :(得分:1)

如果你在构建过程中已经使用了python,你可以编写一个小的python脚本,它接受一个模板文件,一个目标文件和一些参数,并从模板文件中生成目标文件,并填入适当的参数英寸