怎么看obj-y=drm_of.o是否生效了
时间: 2024-02-03 08:11:33 浏览: 25
obj-y=drm_of.o是Makefile中的一个变量,它告诉make命令编译哪些目标文件。如果你想确定它是否生效了,可以在编译时加上-V参数来打印出Makefile中所有变量的值,例如:
```
make -V obj-y
```
这将打印出obj-y变量的值,如果值为drm_of.o,那么它就生效了。另外,你也可以在编译完成后查看生成的目标文件中是否包含了drm_of.o,以确认它是否被编译进去了。
相关问题
EXTRA_CFLAGS := CFLAGS_file.o := obj-y += disp_manager.o obj-y += framebuffer.o
从你提供的代码片段来看,没有发现缺少分隔符的问题。`missing separator` 错误通常是由于缩进问题引起的,但是你的代码片段中的缩进看起来是正确的。
请确保以下几点:
1. 检查你的 Makefile 中是否有其他地方出现了缺少分隔符的错误。有时候错误可能出现在代码的其他部分,而不一定是你提供的片段。
2. 确保你的 Makefile 使用的是制表符而不是空格进行缩进。有些编辑器可能会将制表符转换为空格,这可能会导致错误。你可以在编辑器设置中查找并禁用此选项。
3. 如果你使用的是 Windows 系统,请确保你的 Makefile 中的行尾是以回车符(CR)和换行符(LF)结束。有时候,在不同操作系统间复制粘贴代码时,行尾的换行符格式可能会发生变化,导致错误。
如果你仍然遇到问题,请提供完整的错误消息和任何其他相关信息,以便我能够更好地帮助你。
obj-$(CONFIG_NF_LOG_COMMON) += nf_log_common.o什么意思
这段代码是一个 Makefile 规则,用于编译内核模块。
`obj-$(CONFIG_NF_LOG_COMMON) += nf_log_common.o` 表示如果配置选项 CONFIG_NF_LOG_COMMON 被设置为 "y" 或者 "m"(即内核配置中启用了 NF_LOG_COMMON),则将 nf_log_common.o 添加到编译目标列表中。
在 Linux 内核的构建系统中,Makefile 中的 `obj-y`、`obj-m` 和 `obj-$(CONFIG_XXX)` 等变量用于指定需要编译的目标文件或模块。其中:
- `obj-y` 表示需要编译为内核的目标文件,会被直接链接到内核镜像中。
- `obj-m` 表示需要编译为可加载模块(loadable module)的目标文件,会生成一个独立的模块文件,可以在运行时加载到内核中。
- `obj-$(CONFIG_XXX)` 表示根据内核配置选项来决定是否编译某个目标文件或模块。如果配置选项 CONFIG_XXX 被设置为 "y" 或者 "m",则将对应的目标文件或模块加入编译列表。
在这个例子中,如果内核配置中启用了 CONFIG_NF_LOG_COMMON,那么 nf_log_common.o 将会被编译为一个可加载模块(loadable module)。否则,nf_log_common.o 将不会被包含在编译目标列表中。