以下 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表示製表符。驗證一下全部目標後面的行是製表符縮排的。

相關內容