如何了解在scon中将建立哪些目标

How to see what targets will be built in SCons?

本文关键字:建立 目标 scon 何了解 了解      更新时间:2023-10-16

我有一个相当大的c++项目,由几个共享库和可执行文件组成。该项目由SCons建造。我的客户要求任何补丁必须包含尽可能少的二进制文件。换句话说,我必须在构建之前知道要构建哪些目标。此外,如果a.p p产生libB。sl反过来影响libC。sl和D.bin我只需要得到lib。Sl作为输出。我找不到一个简单的方法来做这件事。有什么建议吗?

通过解析下面命令的输出,可以在构建之前获得您在问题中请求的所有信息。

>> scons --dry-run --tree=all --debug=explain

这将不构建任何东西(--dry-run),将列出所有需要重建的文件及其原因(--debug=explain),然后是依赖树(--tree=all)。

因此,您应该能够从该命令的输出中刮出由于.cpp文件代码更改而需要重新构建的对象文件列表,然后解析依赖树以根据您想要解析依赖树的任何规则来解析您必须在补丁中包含哪些二进制文件。