获取编译文件的列表,并由Make Project包含

Get list of file compiled and included by make project

本文关键字:并由 Make Project 包含 列表 编译 文件 获取      更新时间:2023-10-16

我有一个相当大的制作文件项目(C ),它取决于环境变量构建某些文件,而忽略了我的源目录中的其他文件。

我想生成一个用当前环境设置在制造过程中实际使用的文件列表。IE。我想将所有源文件汇总,并包含所有标头文件。

我要这样做的原因是要能够将所有文件添加到qtcreator项目中,因此只能在我的项目中获取相关文件。

我知道我已经做了一些事情,但是现在我似乎在互联网上的任何地方都找不到它。

编辑:我很确定,这应该是可能的,而无需编辑makefile,并且由于制造系统的复杂性,在这种情况下这是可取的。该项目中涉及很多Makefiles。

本身没有办法做到这一点。

通常,添加一个名为" List_files"的目标或类似的目标:

 .phony: list_files
 list_files:
        echo $SOURCES

调整以适合包含您的来源列表的变量。

要列出特定文件中包含的文件,您需要使用:

 .phony: list_includes
 list_includes:
      ${CXX} -MM $SOURCES

(这不会列出系统文件中的标题 - 使用单个M选项-M提供包含的每个文件的完整列表,但这通常无用,并且会列出很长的列表)

"使"本身打印其执行的所有命令。只需用" CPP"answers" H"过滤器来抓住它们:

make |grep -o -e "w*.cpp" -e "w*.h"

-o参数仅打印匹配部分,而不是整个行。需要打印匹配的源文件名。

相关文章: