當我使用未設置的變量時,有沒有辦法告訴make要抱怨?在bash中類似於set -u
?當我使用未設置的變量時,可以警告我嗎?
我剛剛花了20分鐘來調試我的Makefile,因爲變量名稱中有一個符號錯字。
當我使用未設置的變量時,有沒有辦法告訴make要抱怨?在bash中類似於set -u
?當我使用未設置的變量時,可以警告我嗎?
我剛剛花了20分鐘來調試我的Makefile,因爲變量名稱中有一個符號錯字。
是的,有一種方法:
make --warn-undefined-variables
我剛剛用make版本測試它3.81
編輯:
您還可以設置它在你的makefile,以保護自己未來的愚蠢錯誤。 要做到這一點只是把這個地方靠近你的Makefile頂部(這將傳遞給遞歸make過程太):
MAKEFLAGS=--warn-undefined-variables
你知道是否有辦法在Makefile中觸發它,而不是使用命令行選項? –
是的,你也可以把它放到你的makefile文件中,請看我編輯的答案。 – sirgeorge
順便說一句,你不應該做+ =而不是=?我仍然對make的賦值操作符感到困惑。 –
這裏有一個如何能做到這使化妝立即失敗:
ifndef PSWD
$(error PSWD is undefined)
endif
'if'和'$(error ...)'的一些組合應該爲你做。 –