我在内核树之外使用LKM,我想为我的模块使用一些编译选项,如MYLKM_CONFIG_ {something}。我知道这可以使用C预处理(#define // #ifdef // #endif)来完成。但我想知道是否有可能为此目的使用Kbuild(Kconfig文件或相关的东西)?..
还有一个问题。是make menuconfig
只能用于我的模块,而不是整个内核树吗?
感谢。
答案 0 :(得分:0)
如果使用推荐的方法在树外构建驱动程序(参见第2章),命令应如下所示:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
这个命令的效果是两个:
$(KERNELDIR)
$(PWD)
,在那里它尝试构建模块目标因此,如果将.config从$(KERNELDIR)
复制到$(PWD)
,它应该由Makefile解析,你应该拥有所有的CONFIG_LKM_ * #defines(虽然没有经过测试,但听起来合乎逻辑)。
关于make menconfig
问题,关于上述说明,如果您在$(PWD)
目录中添加一些KConfig文件,它可能会有效。