我们将所有内容放在Makefile中?
我找到了类似的问题earlier,但我需要更多细节。我也查看了GNU make manual,但在文档中迷失了方向。我试过谷歌,但没有找到一个很好的例子。所以,我做了我最后的手段,并试图通过自己黑客攻击Makefile来解决这个问题。我有:
CC=gcc
CFLAGS=-Wall -g
clean:
rm -f all: ex1
这不会在C中编译我的ex1。另外,如果我想在此make文件中添加更多内容。像ex1,ex2一样,运动一切。我会把所有内容放在顶部并重复
rm - f whatever
以下线清洁?
感谢您的帮助和帮助。耐心也很感激。
答案 0 :(得分:3)
all
实际上并不特别,只是常用的目标名称。为了使其最佳工作,它应该是文件中的第一个目标。这使其成为默认目标,gmake
与gmake all
的工作方式相同。
通常,all
目标具有依赖关系,这是需要构建的事物。 E.g。
all: myexe
rm
与clean
目标相关(也没什么特别的,只是常用名称)。你这样定义:
clean:
rm -f myexe
这使得在myexe
运行时删除gmake clean
。如果makefile构建了其他文件,那么它们也应该列在那里。
有关makefile的更多信息。通常您会使用变量和模板规则,这有助于您避免重复自己。但这不仅仅是一个简单的答案可以描述的。