如何修复:没有规则来制作目标?

时间:2016-11-22 22:20:32

标签: linux linux-kernel kernel system-calls kernel-module

我正在尝试构建一个演示内核模块,但是当我做的时候,我得到了关注,

make[1]: Entering directory '/usr/src/linux-headers-4.4.0-47-generic'
make[2]: *** No rule to make target 'arch/x86/entry/syscalls/syscall_32.tbl', needed by 'arch/x86/entry/syscalls/../../include/generated/asm/syscalls_32.h'. Stop.
arch/x86/Makefile:199: recipe for target 'archheaders' failed                                                                                      
make[1]: *** [archheaders] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-4.4.0-47-generic'
Makefile:4: recipe for target 'all' failed

我正在构建跨linux内核的模块 - 4.4.0-47版本 - 64位操作系统。任何人都可以帮我理解为什么我面临这个Error.Thank提前。

1 个答案:

答案 0 :(得分:0)

确保您有正确的make文件。这是一个非常普遍的问题。 或者你也可以在makefile中使用以下语句。

 obj-m += your_module_name.o

 all:
      make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
 clean:
      make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

它应该有用。