如何获取Linux内核编译文件的完整列表?

时间:2013-07-03 06:07:14

标签: gcc compilation makefile kernel source-insight

我正在开发不同的Android项目,需要在Source Insight中为不同的内核源代码树设置项目。 内核中有许多未使用的文件,我想找到一种方法来挑选在内核中编译的所有.c,.h,.S文件。当我手动选择源文件时,我几乎疯了。

我写了一个脚本,可以获取与.o文件对应的文件,但是有些.o文件是由多个.c文件编译的,这使得它更复杂。

是否有更简单的方法来了解编译过程中处理的文件?

非常感谢任何信息。

这是我在stackoverflow中的第一个问题,我非常喜欢这里。

感谢。

1 个答案:

答案 0 :(得分:2)

我总是需要在不查看powerpc,ia86,sparc,alpha,infiniband等的情况下搜索内核源代码。假设你可以编译内核,有几种方法可以做到这一点:

1)从Makefile.build调用$ K / scripts / basic / fixdep.c为每个源创建一个.cmd文件,其中包含有关编译选项,编译源/目标和依赖项列表的信息。修改它以编写仅包含源文件或源/依赖项的单独文件。

2)Hack $ K / scripts / Makefile.build来记录当前编译的文件。请参阅cmd_as_o_S和rule_cc_o_c区域。

选项#1是最好的,但需要一点编码。选项#2是最容易的但是真正的黑客攻击,并且不会获取依赖关系。