【发布时间】:2015-06-12 13:43:41
【问题描述】:
我想在我的 makefile 中使用 bash 计时变量 例如,在我的终端中,我可以做到这一点并且它可以工作
MY_TIME=$SECONDS
echo $MY_TIME
但是当我在我的 makefile 上写这个时它不起作用
如何在我的 make 文件中使用这两行?
这就是我正在做的事情
.PHONY: myProg
myProg:
MY_TIME=$SECONDS
echo $MY_TIME
在 Etan Reisner 的回答之后
这就是我现在拥有的
.PHONY: myProg
myProg:
MY_TIME= date; echo $MY_TIME
但是我的回显结果是一个空行,它看起来不像是在存储日期
【问题讨论】:
-
你把它放在你的makefile的什么地方?这显然不是一个有效的 make 变量。如果您将 make up 设置为使用
bash作为 shell(而不是默认的/bin/sh),它可能会在配方中起作用。 -
每一行都在一个单独的shell中运行,所以没有。
-
@EtanReisner 我该怎么做?我更新了我的问题。
-
MY_TIME= date正在使用名为MY_TIME的环境变量运行date命令,其中包含一个空字符串。您需要MY_TIME=$(date)来捕获来自date的输出到MY_TIME变量中。
标签: bash makefile environment-variables timing