[makefile] 出錯:缺少分隔符


3 Answers

只是為了咧嘴笑,以防其他人遇到類似的錯誤:

我得到了臭名昭著的“遺漏分隔符”錯誤,因為我調用了一個定義函數的規則

($eval $(call function,args))

而不是

$(eval $(call function,args))

($eval $(call...而不是$(eval $(call...

Question

運行make時出現以下錯誤:

Makefile:168: *** missing separator.  Stop.

這是什麼造成的?




對我而言,問題在於我在define ... endef多行變量定義中嵌入了一些尾行# ...註釋。 刪除評論使問題消失。




以下Makefile代碼工作:

obj-m = hello.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



在我的情況下,下一個錯誤。 我試圖在全局執行命令,即在任何目標之外執行命令。

UPD。 要全局運行命令,必須正確形成命令。 例如命令

ln -sf ../../user/curl/$SRC_NAME ./$SRC_NAME

會成為:

$(shell ln -sf ../../user/curl/$(SRC_NAME) ./$(SRC_NAME))



Related



Tags

makefile