它做什么?你刚刚在命令行上运行make吗? makefile是否就像要执行的命令列表一样,在make命令的末尾你有一堆可执行文件?
答案 0 :(得分:1)
是的,它基本上只是一个指令列表。 makefile的目的是轻松构建一个可执行文件,可能需要创建许多命令(手动编译会很麻烦)。
答案 1 :(得分:1)
上面的答案非常正确,但遗漏了一个重点:makefile是智能的,它们只是运行所需的命令,而不是全部。这是通过项之间的依赖关系概念来完成的,例如:
从B生成A,必须运行(例如)" cc -o A B"。
这些规则/依赖关系可以级联(要有A你必须使用B;要有B,你必须使用C + D + E,要有D你必须做......)
如果您的项目是在许多文件中构建的,那么makefile将(通常)重新创建其依赖项已更改的对象, not 所有对象。
将C项目分成10个文件。你修改一个,说" main.c"然后想要测试项目。使用Makefile,只有" main.c"重新编译,然后最终的可执行文件链接。如果没有Makefile,可能会重新编译所有10个文件。