内核编程:没有规则来制作目标`-C'

时间:2014-07-22 13:11:03

标签: makefile kernel

我正在尝试学习内核编程,但在尝试编译一个简单的hello world程序时,我收到以下错误。

  

make -C /lib/modules/3.2.0-67-generic/build M = / home / arun / KPrograms modules   make [1]:输入目录/home/arun/KPrograms' make[1]: *** No rule to make target - C'。停止。   make [1]:离开目录`/ home / arun / KPrograms'   make: * [all]错误2

我的 Makefile

obj−m += hello−1.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

2 个答案:

答案 0 :(得分:7)

您应该将Makefile中的所有−C替换为-C。短划线字符不正确。

答案 1 :(得分:1)

大家好,

您必须自己输入代码。在某些情况下,复制粘贴不起作用。你必须这样输入:

obj-m............<enter>

all:....<enter>

<tab>make -C.............<enter>

clean:..............<enter>

<tab>make -C...........<esc> <:wq>

这可能会解决您的问题。 祝你好运