makefile : missing separator
#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:
ma开发者_运维问答ke -C $(KDIR) M=$(PWD) modules
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers
endif
The error is:
makefile:2:*** missing separator . stop
but for the ifneq($(KERNELRELEASE),)
, if I add a tab before, I get another error:
makefile:2: ***commands commence before first target. stop
There must be a space between ifneq
and (
.
The TAB prefix means that it is a shell command, so be sure that the shell commands (make
and rm
) begin with TAB, and all other lines such as ifneq
do not begin with TAB.
Make is complaining that the second line doesn't start with a tab. Your IDE/texteditor may be saving the file using spaces as equivalent to a tab character. Either configure the IDE to use the tab character, or use a simple editor like vim or nano and replace the leading white space on the second line with a tab.
Check before obj-m:
and KDIR:
etc. Are your tabs being inserted as spaces?
You're missing the second part of your conditional ifneq($(KERNELRELEASE),) needs to have something after the comma, like "2.6.17" (for example).
精彩评论