linux/Unix 环境下的 make 和 makefile 详解
作者:自由的猪 来源: 类别:unix/linux 技术 日期:2006-01-24 今日/总浏览: 5/862
无论是在 linux 还是在 Unix 环境中,make 都是一个非常重要的编译命令。不管是自己进行项目开发
还是安装应用软件,我们都经常要用到 make 或 make install。利用 make 工具,我们可以将大型的开发
项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用 make 和 makefile
工具就可以简洁明快地理顺各个源文件之间纷繁复杂的相互关系。而且如此多的源文件,如果每次都要
键入 gcc 命令进行编译的话,那对程序员来说简直就是一场灾难。而 make 工具则可自动完成编译工作,
并且可以只对程序员在上次编译后修改过的部分进行编译。因此,有效的利用 make 和 makefile 工具可
以大大提高项目开发的效率。同时掌握 make 和 makefile 之后,您也不会再面对着 Linux 下的应用软件
手足无措了。
但令人遗憾的是,在许多讲述 linux 应用的书籍上都没有详细介绍这个功能强大但又非常复杂的编
译工具。在这里我就向大家详细介绍一下 make 及其描述文件 makefile。
Makefile 文件
Make 工具最主要也是最基本的功能就是通过 makefile 文件来描述源程序之间的相互关系并自动
维护编译工作。而 makefile 文件需要按照某种语法进行编写,文件中需要说明如何编译各个源文件并
连接生成可执行文件,并要求定义源文件之间的依赖关系。makefile 文件是许多编译器--包括 Windows
NT 下的编译器--维护编译信息的常用方法,只是在集成开发环境中,用户通过友好的界面修改 makefile
文件而已。
在 UNIX 系统中,习惯使用 Makefile 作为 makfile 文件。如果要使用其他文件作为 makefile,
则可利用类似下面的 make 命令选项指定 makefile 文件:
$ make -f Makefile.debug