我有一个基于C语言的大型项目,并且我希望获得相同的构建时间。问题是如果我使用

time -p make


它确实给了我整个项目的构建时间。但是,我也需要子目录构建级别的构建数据。意思是,我正在处理大约1000多个Makefile。

有什么方法可以获取此子目录级别的构建时间?

蛮力的方式,我是这样想的。但是,目前还不确定如何实现这一目标。

在机器上将每个“ make”都替换为“ time make”。有没有办法做到这一点?

任何其他解决问题的方式也将受到赞赏。提前致谢。

最佳答案

解决此问题的一种方法是将所有构建命令提取到文件中,例如:

make clean
make --dry-run > build-commands.txt


然后,您可以按源文件路径过滤build-commands.txt,执行命令并测量时间。

为此,递归makefile必须使用${MAKE}而不是普通的make调用其他makefile。

10-04 14:29
查看更多