【发布时间】:2011-09-02 12:32:56
【问题描述】:
假设您有一个复杂的 C 项目源代码树,有很多目录和很多文件。 scons 构建支持多个目标(i386、sparc、powerpc)和多个变体(调试、发布)。当使用指定目标和变体的参数调用时,根有一个sconstruct(引用各种sconscripts),它为所有这些做正确的事情,例如scons target=i386 variant=release.
是否有一种简单的方法可以确定每个构建将使用哪些源文件(*.c 和 *.h)(它们都略有不同)?我的理论是 scons 无论如何都需要计算这个文件集以知道要编译哪些文件以及何时重新编译。它可以提供这些信息吗?
我做什么不想做什么:
- 记录详细的构建并对其进行后处理(可能不会告诉 *.h 文件)
-
find . -name '*.[ch]'还会打印不需要的文件以进行单元测试和其他杂乱无章的工作,并且不是特定于目标的
理想情况下,我想做scons target=i386 variant=release printfileset 并查看正确的 *.[ch] 文件列表。然后,此列表可以作为 doxygen 等其他源文件修改工具的输入。
【问题讨论】:
标签: build build-process scons