获取所有使用的来源列表

时间:2014-10-24 05:47:00

标签: c++ c makefile

我们的团队被分配审查和折射一些大而复杂的产品。当前的repo有很多未使用的文件。我们需要确定使用哪些文件以及哪些文件不使用。

是否有一种简单的方法可以获取构建系统(make)使用的所有源文件和头文件来编译产品?

2 个答案:

答案 0 :(得分:1)

如果您引用.C和.CPP文件的来源,则应验证您的构建系统是否生成了地图文件。您可以使用正则表达式解析映射文件以查找所有.o文件。这将为您提供所有源文件的名称。

可以使用#include行的grep找到头文件。

编辑:

GCC可以使用-M-MM选项输出依赖项。您可以解析这些文件。如果您的makefile调用GCC,您可以更改CFLAGS以创建这些文件。如果其他编译器提供此功能,则取决于编译器。

答案 1 :(得分:0)

尝试向编译器添加依赖关系生成参数。 G ++有一组-M *选项,允许您以Makefile格式生成每个文件的依赖项。我没有太多使用它,所以我不会告诉你你应该做什么,但也许-MP对你的问题看起来很有希望......

只需使用.ddd之类的花哨扩展名保存这些依赖项文件,然后编写脚本以在某处累积它们。