makefile missing separator. Stop

 1 ifneq ($(KERNELRELEASE),)
 2 obj-m := hello.o
 3 
 4 else
 5 PWD  := $(shell pwd)
 6 KVER := $(shell uname -r)
 7 KDIR := /lib/modules/$(KVER)/build
 8 all:
 9     $(MAKE) -C $(KDIR) M=$(PWD) modules
10 clean:
11     rm -rf .*.cmd *.o *.mod.c *.ko .tmp_versions
12 endif

 对上面的代码进行make,结果出现这样:

 

makefile missing separator. Stop_第1张图片

 

出错点:

《1》也检查了是否是第9行和第11行前面必须是TAB而不是空格,我的也是TAB。

《2》最终找到了是gedit这个编辑器设置的原因:

gedit->Edit->Preferences->Editor里面设置出错:

makefile missing separator. Stop_第2张图片

这里面之前设置的Tab的长度是3,貌似这个也会有问题,改成4了。最最很重要的的是勾选了下面的 “Insert spaces instead of tabs”,这个不能勾选,选了它就用个=空格代替Tab了......

 

事实上最上面的代码前面还是空格,虽然你敲的是Tab。

你可能感兴趣的:(makefile)