Makefile 入门
在 Linux( Unix )环境下使用 GNU 的 make
工具能够比较容易的构建一个属于你自己的工程,整个工程的编译只需要一个命令就可以完成编译、连接以至于最后的执行。不过这需要我们投入一些时间去完成一个或者多个称之为 Makefile
文件的编写。
所要完成的 Makefile
文件描述了整个工程的编译、连接等规则。其中包括:
- 工程中的哪些源文件需要编译以及如何编译
- 需要创建哪些库文件以及如何创建这些库文件
- 如何最后产生我们想要的可执行文件。
- …
尽管看起来可能是很复杂的事情,但是为工程编写 Makefile
的好处是能够使用一行命令来完成“自动化编译”,一旦提供一个(通常对于一个工程来说会是多个)正确的 Makefile
。编译整个工程你所要做的事就是在 shell
提示符下输入 make
命令。整个工程完全自动编译,极大提高了效率。
make 是一个命令工具,它解释 Makefile
中的指令。在 Makefile
文件中描述了整个工程所有文件的编译顺序、编译规则。Makefile
有自己的书写格式、关键字、函数。像 C 语言有自己的格式、关键字和函数一样。而且在 Makefile
中可以使用系统shell所提供的任何命令来完成想要的工作。Makefile
在绝大多数的 IDE 开发环境中都在使用,已经成为一种工程的编译方法。