![]() |
1
3
完整重拨: 您可以修改内核源代码中的make进程以使用
这样做的最终结果是编译器或任何可执行文件都不会被调用。只是假装告诉你 将 做。 选项并从中grep文件,而不构建源文件。这可能与在shell中设置make环境以使用上面的选项一样简单。然后把所有涉及.c和.h文件的编译器命令都删除。下载内核源代码2.622.2,看看如何做到这一点。编辑来吧。 祝你好运 回邮你的进展。或许可以贴出贝壳脚本!:) 追随 : 2.6.29.2内核源代码的第13行包含在/2.6.19.2/makefile中
编辑
我把我的改成了
例如(可能更好):
不是很完美,但我的工作方式很差劲,应该能让你走。同样的基本过程将有望应用于带有配置内核的盲make。 警告 在不维护特定于体系结构的工具链或在目标体系结构上运行make的情况下,某些特定于asm和体系结构的文件与真正的构建不同。 从评论编辑 要抑制ld失败,需要在kernel make文件中找到以下部分(或类似部分)。
您需要先运行配置步骤来配置源,然后再尝试枚举先前步骤中使用的源文件(管道和从干运行重新映射),以便可以在
现在,当您使用伪make枚举源文件时,post kernel source configuration(指定驱动程序/模块,不管是什么)ld将失败。您可以从
到
注意“-”字符。这告诉makefile忽略警告。显然,你试图做的是不寻常的,但很酷:通过找到MaFixFipe部分和调整执行的命令可以进一步抑制错误。我建议您对makefile非常友好,因为以后可能需要更改if语句。一旦你把所有的东西都分类了,你会有一个“哑巴”的Mag文件,将吐出.c文件,这样你就可以做了。
或者什么。 我也有一个很酷的建议来验证你的结果…实际上构建内核…但是使用Linux的API(您可以在这里获得Python绑定) http://pyinotify.sourceforge.net/ )并在编译窗口中监视文件系统事件(例如gcc正在读取的.c文件)。然后将其与“dumb”makefile中的列表进行比较。 好吧,我希望那不是太多华夫饼! 祝你好运 |
![]() |
Darky · 多重定义…c++vsCode[重复] 2 年前 |
![]() |
Jim Merkel · 软件包管理器如何知道在哪里安装文件 3 年前 |
![]() |
franco yang · makefile中的循环main 3 年前 |
![]() |
dopller · 使用cmake将仅标题库包含到我的项目时出错 3 年前 |
![]() |
Andres Moreno Abrego · 为什么当BOOL_VAR为false时,Makefile表达式“export INTEGER_VAR?=$(if$(BOOL_VAR),2,5)”会导致INTEGER_VAR=2? 3 年前 |
![]() |
miterhen · 发生错误后,如何继续中断编译? 7 年前 |