'gmake'和'gmake clean'之间的区别

时间:2013-04-02 14:31:44

标签: bash gnu-make

我目前正在研究一个关于学生工作的项目并编写一些代码。每当我想编译我的文件时,我的主管告诉我先做gmake clean然后做gmake。否则,新鲜的gmake可能无法解决之前gmake的一些错误。

我的项目有很多不需要的文件,我没有编辑,但每次都是gmake clean,编译器每次都会再次编译它们,这需要花费很多时间。

所以,如果我没有更改其他文件,那么我不需要重新编译它们,我改变的唯一文件总是只用gmake重新编译,对吧?那我为什么每次gmake clean

我的主管是否只是告诉我良好的编程习惯,还是我错过了gmake clean的一些重要概念?

3 个答案:

答案 0 :(得分:2)

绝对不是最佳做法...当makefile包含一些错误且依赖性不正确时,这通常是快速而肮脏的解决方案

答案 1 :(得分:2)

gmakegmake clean之间的区别在于前者构建默认目标,而后者“构建”特定目标clean,后者通常包含要删除的清除指令在构建过程中创建的文件(目标文件,临时文件,生成的代码......)。 gmake clean 将源树恢复到干净状态。但是,如果它实际上成功取决于源树的外观以及目标包含的指令。

答案 2 :(得分:0)

如果您在编译时遇到困难,请在gmake clean之前执行gmake。只是为了检查问题是否来自旧的编译文件。

otherise只在gmake中编译您最新更改的文件。

你上司给你一个处理困难和奇怪的编译行为的建议。