Следующий Makefile не работает, и я не уверен, что происходит

Следующий Makefile не работает, и я не уверен, что происходит
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: *** отсутствует разделитель. Стоп.

решение1

Проверьте, что перед записью есть настоящий символ табуляции, например:

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

Это должен быть \t, символ табуляции, а не просто пробелы.

Для проверки вы можете запустить cat -T Makefile:

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

^Iуказывает на символ табуляции. Убедитесь, чтовсестроки, следующие за целью, имеют отступ табуляции.

Связанный контент