gpt4 book ai didi

makefile - 在makefile中打印时间戳

转载 作者:行者123 更新时间:2023-12-04 14:41:54 38 4
gpt4 key购买 nike

我想测量make文件中每个构建项的时间,我只是在下面尝试,为什么不起作用?

我的测试:
$(info '现在时间是 $(date --iso=seconds)')

不打印日期,只打印“现在时间是”。有什么问题?
make --version
GNU Make 3.81

最佳答案

没有make名为 date 的函数.如果你想调用一个shell命令,语法是$(shell date) .
使用 $(info)在菜谱中不是特别优雅;该函数不会产生任何对传递给 shell 有用的东西。您可能只是在寻找

mytest:
date +"Now time is +%FT%T%z"
(找不到 --iso=seconds 正确记录;从这个博客中获取定义: http://nixscripts.blogspot.com/2010/07/hidden-arguments-easter-egg-or-what.html)
... 或者可能效率稍低
mytest:
printf 'Now time is %s\n' "$$(date --iso=seconds)"
其中双美元符号从 Make 中转义美元符号,以便您通过命令替换传递到 shell。
只是为了指出明显的一点,不幸的是,Make 使用的语法与 shell 的命令替换语法非常相似。在 Make 中,您使用 $(shell command)$$(command)通过 command到 shell 。前者在纯 Make 片段中有意义( Makefile 中的变量定义,等等);后者仅在配方中可用。

关于makefile - 在makefile中打印时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37722572/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com