1

我正在寻找一种允许我Makefile从 Python 内部修改文件的解决方案。

我不需要任何特殊功能,通常我只需要更改变量,例如:SOMETHING := value但我更愿意能够使用现有的库而不是实现我自己的、错误的、解析器。

4

2 回答 2

1

如果您想在 Python 中做事,我建议您远离 Makefile。

使用wafscons代替。它们是用 Python 编写的用于替换 Makefile 的构建工具。我宁愿使用wafthen scons,因为它更快并且它适用于新Python版本(以及一些操作系统项目,比如ardour切换到它)。

http://code.google.com/p/waf/

http://www.scons.org/

以下是两者(以及 CMake、Ant 等其他)的比较: http ://code.google.com/p/waf/wiki/WafAndOtherBuildSystems#II._comparison_between_various_build_tools

于 2012-04-30T14:58:26.690 回答
1

还没有听说过这种面向 Makefile 的 Python 库,但是如果您只需要简单的替换,例如SOMETHING := [something_placeholder],那么您可以加载模板文件,将占位符替换为您的值并将其写回磁盘并将其提供给make.

或者您可以使用诸如Jinja2之类的模板引擎,但这将是您的应用程序的另一个依赖项。

于 2012-04-30T14:55:22.480 回答