【问题标题】:How to get a whole list of compiled files of Linux kernel?如何获取Linux内核编译文件的完整列表?
【发布时间】:2013-06-30 17:16:25
【问题描述】:

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

我写了一个脚本,可以提取.o文件对应的文件,但是有一些.o文件是由多个.c文件编译的,比较复杂。

有没有更简单的方法可以知道编译过程中处理了哪些文件?

任何信息将不胜感激。

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

谢谢。

【问题讨论】:

    标签: gcc compilation makefile kernel source-insight


    【解决方案1】:

    我总是需要搜索内核源代码而不看powerpc、ia86、sparc、alpha、infiniband等。假设你可以编译内核,有几种方法:

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

    2) 破解 $K/scripts/Makefile.build 以记录当前编译的文件。查看 cmd_as_o_S 和 rule_cc_o_c 区域。

    选项#1 是最好的,但需要一点编码。选项 #2 最简单,但却是真正的 hack,并且不会获取依赖项。

    【讨论】:

      猜你喜欢
      • 2015-06-10
      • 2017-03-09
      • 2013-06-17
      • 2012-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多