问题标签 [kbuild]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
makefile - 在 Kernel makefile $(call cmd, tags) 中,这里的 cmd 指的是什么?
在内核 Makefile 中,我找到了如下代码:
另外,我在哪里可以找到宏或功能?
c - Kconfig、宏和未定义的宏警告
我正在向 Linux 内核中的 Kconfig 添加多项选择样式配置。根据用户的选择,它定义了一个宏。配置完成后,内核驱动程序源代码具有#ifdef 块,它在其中检查并使用宏进行编译。
在 Kconfig 中看起来像这样:
并在驱动程序源代码中:
这个感觉还行。但是,问题是在编译时我收到警告:
这些是我在内核编译期间看到的唯一警告。所以这一定意味着我做错了。任何指针将不胜感激!
linux - 添加 Linux 模块:无法执行“make menuconfig”
我正在尝试安装 Linux 外部内核模块。我已经解压了完整的源代码压缩包:有源代码 (.c)、Kconfig 和 Makefile。
在向 .config 添加选项时make menuconfig
,我得到了
make: *** 没有规则来制作目标“menuconfig”。停止。
(我试过make menuconfig
了/usr/src/Linux-header-3.xxxx
,它确实有效;菜单弹出!)
我对这种make menuconfig
机制有点困惑。我是否必须将我的 Kconfig 与 Linux 顶级 Makefile(Kconfig?)链接或添加另一个 Kbuild 文件?
下面列出了几个文件:
配置:
生成文件:
linux - linux kconfig 命令行界面
我的目标是使用命令行更改 kbuild 配置,而不会弄乱依赖关系。
为此,我通过编辑我的默认设置创建了一个“参考”.config
配置make menuconfig
。我改变的“唯一”事情是从 64 位更改为 32 位。
现在我使用了我的原始配置并应用了以下命令(来自 linux 内核根目录)
的内容32bit.conf
很简单CONFIG_64=n
。
在区分这两个.config
s frommake menuconfig
和我的命令后,我发现几乎每个更改 frommake menuconfig
也存在于另一个文件中。但只有几乎每一个变化。
这些差异来自哪里,是否有.config
通过命令行操作 kbuild 的官方方法?
linux-kernel - 如何从 .config 创建 defconfig 文件?
我已经完成make menuconfig
了一块板defconfig
并修改了一些配置。当我选择保存时,.config
在内核顶层目录中创建了一个新的。
我想defconfig
为这个创建的.config
文件创建新的。
我可以将其复制.config
为新的defconfig
并复制到arch/arm/configs/
吗?
linux - Linux模块makefile编译错误
我有以下生成文件:
调用 make 时出现以下错误:
有人知道为什么吗?我是新来的。谢谢。
buildroot - 如何使 buildroot 包互斥?
我正在实现一个 buildroot 包 foo,它不能与特定的其他包 bar 一起包含。depends on
我正在尝试通过在各自的文件中编写语句来定义包互斥Config.in
。
在foo/Config.in
:
在bar/Config.in
:
这导致make menuconfig
行为异常并给出以下错误消息:
声明这种互斥依赖关系的正确方法是什么?
c - kbuild 实际上是如何工作的?
当我在开发一个 linux 驱动程序时,我已经阅读了如何通过这个文档编写 linux kbuild makefile
我知道 kbuild 系统使用诸如 obj-y obj-m 之类的 makefile 变量来确定要构建什么以及如何构建。
但是我很困惑的是kbuild系统在哪里真正执行构建过程。总之,如果我有obj-m = a.o
,那么kbuild系统在哪里解析obj-m
和执行gcc a.c
?
linux-kernel - 为外部内核模块正确设置 makefile
我正在编写一个字符驱动程序以位于源代码树中 ahci 的修改版本之上。我基本上有这样的东西:
现在,char_interface 需要来自 mod_ahci 的符号。EXPORT_SYMBOL()
我对需要导出的符号有适当的宏使用。但是,我无法让 makefile 正确地从 char_interface 获取 mod_ahci 中的头文件。我的顶级 Makefile
char_interface 的生成文件(因为其他构建很好)
我在内核文档中引用了各种文本文件。例如,我现在指的是 .../Documentation/kbuild/makefiles.txt 以及 .../Documentation/kbuild/modules.txt。每当我构建时,我都会得到/home/captaink/devel/kmodtests/char_interface/char_interface.c:2:22: error: mod_ahci.h: No such file or directory
. 目录中有一个名为mod_ahci.h的文件../mod_ahci
。我ccflags-y
在 char 驱动程序的 makefile 中使用了什么错误?
谢谢
makefile - make config 命令是如何工作的
为了了解 make 构建环境的配置工具,我想询问以下配置参数:
请问他们每个人做什么或意味着什么?我msm8974_sec_hlte_spr_defconfig
在我的构建环境中搜索并在此处发布了结果,然后我查找了与我的手机相关的配置,我得到了大约 20 个左右。但我想知道以下是什么?
也就是说,如果我选择它们,它们会从我当前的配置中添加或删除什么。我知道调试是为了调试,我不确定 eng 的目的是什么。我想看看我能找到哪些额外的细节。
另外为什么 VARIANT_DEFCONFIG 参数有两个参数?我的意思是在变量之后有两个值指定如下:msm8974_sec_hlte_spr_defconfig msm8974_sec_defconfig
这是否意味着我可以添加任意数量的值?请问这个的语法是什么?