‘All’在Makefile中属于哪里?

我们把所有这些都放在Makefile中?

我之前发现了类似的问题,但我需要更多细节。 我还查看了GNU make手册 ,但是在文档中迷失了方向。 我尝试了谷歌,但没有找到一个很好的例子。 所以,我做了我的最后一招,并试图通过自己黑客攻击Makefile来解决这个问题。 我有:

CC=gcc CFLAGS=-Wall -g clean: rm -f all: ex1 

这不会在C中编译我的ex1。另外,如果我想在此make文件中添加更多内容。 像ex1,ex2一样,运动一切。 我会把所有的都放在顶部并重复

 rm - f whatever 

线以下清洁?

感谢您的帮助和帮助。 耐心也很感激。

all都没什么特别的,只是常用的目标名称。 为了使其最佳工作,它应该是文件中的第一个目标。 这使它成为默认目标, gmake工作方式与gmake all相同。

通常, all目标都有依赖关系,这是需要构建的东西。 例如

 all: myexe 

rmclean目标有关(也没什么特别的,只是常用的名称)。 你这样定义它:

 clean: rm -f myexe 

这使得它在运行gmake clean时删除myexe 。 如果makefile构建其他文件,那么它们也应该列在那里。

有关makefile的知识还有很多。 通常您会使用变量和模板规则,这有助于您避免重复自己。 但这远不止一个简单的答案可以描述。