0
我正在使用靜態模式規則編寫一個Makefile,並且我想爲每個TARGETS元素分配一個變量賦予當前目標名稱(這裏是詞幹'%')。Make:在靜態模式規則中設置特定於目標的變量
TARGETS = a b c d
all : $(TARGETS)
$(TARGETS) : % : DIR = %
$(TARGETS) : % : %_setup build
a_setup :
code for a
b_setup :
code for b
...
build
code using "DIR = XX" previously configured
但gnumake的抱怨特定目標變量DIR:
make: *** No rule to make target 'DIR', needed by 'a'
是否可以混合使用靜態模式規則和可變分配?謝謝!
你可以使用'目標:在您例如,您可以直接分配
[email protected]
但更普遍的,你可以結合使用[email protected]
與patsubst
DIR = $ @'。 –你永遠不需要這樣做。靜態模式規則的一個要求是你有一個目標列表...所以你可以隨時在目標列表中使用正常的目標特定變量。 – MadScientist