gpt4 book ai didi

c - 如何在 Make 中使用 ccache?

转载 作者:太空狗 更新时间:2023-10-29 15:49:14 26 4
gpt4 key购买 nike

我有一个使用 makefile 编译代码的源目录。这个 makefile/configure 文件不是为了 ccache 兼容性而编写的。所以我想到了使用ccache。我在 .bashrc 中创建了别名 alias gcc='ccache gcc',但是 Makefile 仍然没有考虑 gcc 的这个定义。那么有没有什么我可以做的,而不需要触及 Makefile/configure 文件,这样它就可以使用 ccache gcc 而不是 gcc。CC='ccache gcc' ./configure 也不是一个选项,因为它不要求 CC。

如果我编写 Makefile,那么我可以提供 ${gcc),但这不是一个选项,因为我不是在编写 Makefile。有什么方法可以让我们不需要更改源文件中的任何内容,但仍然启用ccache 编译。

最佳答案

别名对于创建它们的 shell 是本地的;与环境变量不同,它们不会传递给 shell 调用的任何程序(包括 make)。 Make 调用/bin/sh,而不是/bin/bash,并且/bin/sh 不读取你的 ~/.bashrc 等。所以没有定义的别名对你有帮助。

我不太确定您为什么要对自己施加一些您提到的限制:这些事情很好用,而且您没有给出我理解的避免它们的理由。例如,如果 autoconf 的版本不是很古老,则提供一个带有配置的不同 CC 起作用。你可以这样做:

./configure CC='ccache gcc'

例如,这会将您的 makefile 中 CC 的默认值设置为 ccache gcc。我不知道您所说的“它不要求抄送”是什么意思。

如果您愿意,还可以在 make 命令行上覆盖 CC 的设置,如下所示:

make CC='ccache gcc'

这也很好用。

关于c - 如何在 Make 中使用 ccache?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9757436/

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