我有一个基于C语言的大型项目,并且我希望获得相同的构建时间。问题是如果我使用
time -p make
它确实给了我整个项目的构建时间。但是,我也需要子目录构建级别的构建数据。意思是,我正在处理大约1000多个Makefile。
有什么方法可以获取此子目录级别的构建时间?
蛮力的方式,我是这样想的。但是,目前还不确定如何实现这一目标。
在机器上将每个“ make”都替换为“ time make”。有没有办法做到这一点?
任何其他解决问题的方式也将受到赞赏。提前致谢。
最佳答案
解决此问题的一种方法是将所有构建命令提取到文件中,例如:
make clean
make --dry-run > build-commands.txt
然后,您可以按源文件路径过滤
build-commands.txt
,执行命令并测量时间。为此,递归makefile必须使用
${MAKE}
而不是普通的make
调用其他makefile。