makefile:缺less分隔符

#kernel build system and can use its lanauge ifneq($(KERNELRELEASE),) obj-m:=helloworld.o else KDIR:= /lib/modules/2.6.33.3-85.fc13.i686/build all: make -C $(KDIR) M=$(PWD) modules clean: rm -f *.ko *.o *.mod.o *.mod.c *.symvers endif 

错误是:

makefile:2:***缺less分隔符。 停止

但对于ifneq($(KERNELRELEASE),) ,如果我添加一个选项卡之前,我得到另一个错误:

makefile:2:***命令在第一个目标之前开始。 停止

Solutions Collecting From Web of "makefile:缺less分隔符"

ifneq(之间必须有空格。

TAB前缀表示它是一个shell命令,因此请确保shell命令( makerm )以TAB开头,而其他所有行(如ifneq不以TAB开头。

Make抱怨第二行不是以tab开头的。 您的IDE /文本编辑器可能会使用空格等同于制表符保存文件。 可以将IDE配置为使用制表符,也可以使用简单的编辑器(如vim或nano),并使用制表符替换第二行上的前导空格。

obj-m:KDIR:之前检查KDIR:等等。你的制表符被插入为空格吗?

你错过了你的条件ifneq($(KERNELRELEASE))的第二部分,)需要在逗号后面有一些东西,比如“2.6.17”(例如)。