다음 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탭 문자를 나타냅니다. 확인모두대상 뒤에 오는 줄은 탭으로 들여쓰기됩니다.

관련 정보