obj-$(CONFIG_NF_LOG_COMMON) += nf_log_common.o什么意思
时间: 2023-11-24 07:07:07 浏览: 114
load-opengl.zip_load obj_obj_obj opengl_opengl .obj_opengl obj
这段代码是一个 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 将不会被包含在编译目标列表中。
阅读全文