【发布时间】:2015-07-03 10:22:31
【问题描述】:
有没有办法在 .pro 文件中指定要添加到 qmake 生成的 Makefile 中的标准目标的额外命令?例如,考虑distclean,可能需要额外的命令:
- 删除 *~ 个文件。
- 从源代码树中清除运行时生成的输出文件。
- 等
我想使用普通目标而不是自定义目标,因为我希望这在我的工作流程中完全透明。那就是(再次以distclean为例),我不想……
- ...在多项目设置中需要了解某些 Makefile 使用自定义规则而不是
distclean。 - ... 记录自定义规则,即使对于独立项目也是如此,因为
distclean已经是 well-known 并且直观†。
我找到了How to add custom targets in a qmake generated Makefile?,但这描述了添加自定义目标(即already documented,甚至是back in 4.6),而不是向现有目标添加规则。虽然它确实包含一些提示,但它们都需要添加新的自定义目标,因为在 Makefile 中多次指定相同的目标会替换(而不是添加)来自前一个目标的命令。
我唯一真正想到的尝试是将target.commands += new commands 添加到.pro 文件中作为一个疯狂的猜测(例如distclean.commands += rm \"*~\")。这没有效果。
如何使用qmake 透明地将自定义命令添加到现有目标?
†对于distclean 示例:虽然maintainer-clean 也在该“标准目标”列表中,但实际上我发现它很少使用,并且无论如何qmake 默认情况下不会生成它;我认为它不合适。
【问题讨论】: