‘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
rm
与clean
目标有关(也没什么特别的,只是常用的名称)。 你这样定义它:
clean: rm -f myexe
这使得它在运行gmake clean
时删除myexe
。 如果makefile构建其他文件,那么它们也应该列在那里。
有关makefile的知识还有很多。 通常您会使用变量和模板规则,这有助于您避免重复自己。 但这远不止一个简单的答案可以描述。