O seguinte Makefile não está funcionando e não tenho certeza do que está acontecendo

O seguinte Makefile não está funcionando e não tenho certeza do que está acontecendo
obj-m += task.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

Makefile:3: *** separador faltando. Parar.

Responder1

Verifique se você tem o caractere de tabulação real na frente da entrada, por exemplo

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

Tem que ser \t, o caractere Tab, e não apenas espaços.

Para verificar, você pode executar cat -T Makefile:

$ cat -T Makefile 
all:
^Iecho "foo"
foo:
^Iecho "bar"

^Iindica um caractere de tabulação. Verifique issotodosas linhas que sucedem um destino são recuadas por tabulação.

informação relacionada