如何强制GNU Make变量立即评估?请考虑以下示例:
TARGET:=fred
wilma:
mkdir -p $(TARGET)
TARGET:=barney
betty:
mkdir -p $(TARGET)
all: one two
.PHONY: one two all
Run Code Online (Sandbox Code Playgroud)
使用make all,Make只会创建"barney",因为只有在读取了makefile并分配了最终值("barney")后才会计算配方字符串.
在这种情况下,我需要创建"fred"和"barney".
wilma: TARGET:=fred
betty: TARGET:=barney
wilma betty:
mkdir -p $(TARGET)
Run Code Online (Sandbox Code Playgroud)