1
我想寫一個通用的makefile,一次滿足各種項目的大部分需求。但後來我絆倒了以下內容:目標是/最後?
%/:
mkdir -p [email protected]
.SECONDEXPANSION:
$(objects): $$(dir [email protected])
我想到這每當$(objects)
爲目標的目錄確實需要一個運行得很好,並創建一個目錄。但不知何故,它沒有奏效。我檢查並發現以下內容:目標不能以'/'結尾。
有沒有辦法避免這種情況?
這是不正確的目標不能在「/」結尾。但是,在某些情況下,make會去除文件名後面的斜槓,這會導致問題。 – MadScientist
我猜.PHONY-targets可以嗎?一切都被認爲是一個文件,不是嗎?我測試了規則'all:something /',並且它沒有說「針對某個目標的規則」,所以我認爲它在目標的末尾剝去了每個'/'。 – WorldSEnder
在這個規則中,'something /'不是它的前提條件。如果你寫了一個像'%/:'這樣的規則,那麼你運行'make -p'來打印規則數據庫,你會看到斜槓沒有從目標中刪除。 – MadScientist