【发布时间】:2010-03-26 18:37:57
【问题描述】:
我有一个使用 OMake 构建系统的项目,我正在尝试处理一个相当棘手的极端情况。
我有一些定义文件和一个可以获取这些定义文件并创建 GraphViz 文件的工具。但是有两个问题:
- 每个定义文件可以生成多个图形,并且它可以生成的图形列表被编码在文件中。我的转储工具确实有一个
-list选项,它列出了定义文件将生成的所有图形。 - 此转储工具内置于源代码树中。
- 我希望 OMakefile 中提供此列表,这样我就可以使用其他规则将 DOT 文件转换为 SVG,并且有一个依赖于所有 SVG 的虚假目标(目标:一个构建命令,用于构建我所有图形的 SVG 描述)。
如果我只有第一个问题,那就很容易了——我会运行该工具来构建一个列表,然后使用该列表来构建一个目标,该目标调用转储程序来输出 GraphViz 文件。但是,我宁愿在需要之前强制构建转储工具。
如果这是make,我会递归地运行make 来构建转储工具。然而,OMake 不允许递归调用,并且 build 函数只能在 osh 中使用。
有什么好的解决这个问题的建议吗?
【问题讨论】:
标签: build-system omake