我想在make文件中使用动态变量,例如:
all: ask
@echo "I want the $$ANSWER here too"
ask:
@read -p "please enter your answer: " ans && export ANSWER=$$ans
@echo "Your answer is $$ANSWER"
以上示例不起作用,$ANSWER
为空。
修改:
使用read询问问题只是一个例子。我的目的是必须在目标的运行时动态获取值,而不是在makefile之上计算,或者在make
的命令行上传入。
答案 0 :(得分:0)
正如我在评论中所说,在makefile中提出互动问题是一个坏主意; Make不是为此而设计的。 Make的重点是,如果所有文件都是最新的,则没有任何反应。在你的情况下,无论如何,你都希望有所作为。不是Make的一个很好的用例。
话虽如此,我还是想给你答案。也许你会喜欢这个:
all: ask
@echo "I want the $$(cat ANSWER) here too"
ask:
@read -p "please enter your answer: " ans && echo -n "$$ans" > ANSWER
@echo "Your answer is $$(cat ANSWER)"