【发布时间】:2015-03-24 19:10:32
【问题描述】:
我正在构建一个构建系统,我需要在目标配方中立即进行变量扩展。
我的(简化的)makefile:
VAR=one
all:
@echo one is $(VAR)
VAR=two
当我运行make 时,输出是:
one is two
输出是预期的(配方中的延迟扩展)但不是预期的。
使其工作的一种方法是遵循 makefile。然而,这使得配方总是被执行,也是不希望的:
VAR=one
all: $(VAR)
@echo one is $(VAR)
$(VAR):
$(eval VAR=$@)
VAR=two
有人吗?
【问题讨论】:
标签: makefile