- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我熟悉 make 和 kbuild,以及构建系统的工作原理。但是我很难理解对象目标是如何构建的!?
例如,在 Kbuild 中,如果你想在一个目录中生成一个目标文件,你将有一个包含如下内容的 makefile:
obj-$(CONFIG_FOO) += foo.o
这评估为 obj-y/m
并向其添加 foo.o
,我认为此构建文件是使用 submake
,然后主生成文件将使用 obj-y
或 obj-m
生成所有对象目标(取决于您构建的方式/内容) ,正确的?
我的问题 是,通常您可以从主生成文件/构建文件传递到它的子生成文件(即 export
),但是 obj-y
变量在许多地方定义,那么它的值是如何在所有这些 submake
调用中构建或跟踪的?
最佳答案
在深入研究了 Busybox 的整个构建系统之后,我想我理解了它背后的逻辑,所以这是我发现的:
obj-$(CONFIG_FOO) += foo.o
的代码)Makefile.build
执行 submake 调用,并传递要构建的文件夹的路径/目录(即从中生成 built-in.o
作为命令行变量 (obj
) Makefile.build
文件创建用于编译对象目标文件并将它们链接到 built-in.o
object-in.o
并将它们链接在一起关于makefile - 了解 kbuild 构建过程的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22409682/
我是 Linux 内核的新手。 我试图理解这个想法,高级什么是 kbuild . 当我编译内核时,我调用 make,它在 Linux 机器上是 GNU make。 那么什么是 KBuild?它是一组通
我正在为设备驱动程序构建树外内核模块。总的来说,一切进展顺利,但我有几个关于使用 kbuild 和构建系统的问题: 我找到了这个优秀的帖子:Is it possible to set CFLAGS t
我有一些源代码,我想将其用于内核模块和用户空间程序。我只想在我的源代码树中维护该代码的单个副本。我正在考虑将共享源文件放入共享文件夹(内核树之外),让 kbuild 从外部目录构建这些文件,并在模块目
当我在开发 linux 驱动程序时,我已经阅读了有关如何通过此 document 编写 linux kbuild makefile 的信息 我知道 kbuild 系统使用 makefile 变量,例如
我熟悉 make 和 kbuild,以及构建系统的工作原理。但是我很难理解对象目标是如何构建的!? 例如,在 Kbuild 中,如果你想在一个目录中生成一个目标文件,你将有一个包含如下内容的 make
假设有一个带有一些函数 func_a 的源文件 a.c。我想根据某些功能定义调用 func_a ,并且还希望根据理想情况下相同的功能定义将 a.c 包含在模块中。 所以在我总是存在的模块源中(比如ma
让 generate_testapi.py成为我的 Linux 内核模块源代码树中的一个脚本,它摄取 mymod_test.h并生成一个面向用户空间的接口(interface)源文件(ioctl,de
我正在寻找一种将 Kconfig 文件中的选项转换为 int 的方法。因此,例如,我想要: config BUFSIZE int choice prompt "choose a buf
我有一个内核模块(通常使用 CONFIG_MYMODULE=m 编译),其设置如下: mymodule/Makefile ../foo/Makefile ../foo/component1/Makef
对于 bool 配置,我使用的是选择。有没有类似的字符串? 最后,我想要一些类似的东西: config MY_VAR_STR string config MY_VAR_BOOL bool defaul
我是一名优秀的程序员,十分优秀!