我正在尝试使用答案中的步骤在文件夹"drivers/md/"中构建模块 How (recipe) to build only one kernel module?

但我有以下错误

# make -C /lib/modules/$(uname -r)/build M=drivers/md modules
make: Entering directory '/usr/src/linux-headers-5.0.0-36-generic'
make[2]: *** No rule to make target 'drivers/md/bcache/alloc.o', needed by 
'drivers/md/bcache/bcache.o'.  Stop.
make[1]: *** [scripts/Makefile.build:515: drivers/md/bcache] Error 2
make: *** [Makefile:1614: _module_drivers/md] Error 2
make: Leaving directory '/usr/src/linux-headers-5.0.0-36-generic'

我做错什么了?

最佳回复

错误是告诉您没有文件 drivers/md/bcache/alloc.o 在make正在寻找它的时候,它是可用的。您的文件路径通常应该如下所示 ../drivers/md/bcache/alloc.o 或者更好的是,您可以使用 -I 论证 gcc .

要获得完整的、不那么含糊不清的答案,请将MakeFile添加到您的OP