makefile一、 概述 ―― 什么是 makefile?或许很多 Winodws 的程序员都不知道这个东西,因为那些 Windows 的 IDE 都 为你做了这个工作,但我觉得要作一个好的和 professional 的程序员,makefile 还是要懂 。这就好象现在有这么多的 HTML 的编辑器,但如果你想成为一个专业人士,你还是要了解 HTML 的标识的含义。特别在 Unix 下的软件编译,你就不能不自己写 makefile 了,会不会写 makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile 关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、 功能、模块分别放在若干个目录中,makefile 定义了一系列的规则来指定,哪些文件需要 先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作, 因为 makefile 就像一个 Shell 脚本一样,其中也可以执行操作系统的命令。 makefile 带来的好处就是――“自动化编译” ,一旦写好,只需要一个 make 命令,整个工 程完全自动编译,极大的提高了软件开发的效率。make 是一个命令工具,是一个解释 make file 中指令的命令工具,一般来说,大多数的 IDE 都有这个命令,比如:Delphi 的 make,V isual C++的 nmake,Linux 下 GNU 的 make。可见,makefile 都成为了一种在工程方面的编译 方法。 现在讲述如何写 makefile 的文章比较少,这是我想写这篇文章的原因。当然,不同产商的 make 各不相同,也有不同的语法,但其本质都是在“文件依赖性”上做文章,这里,我仅 对 GNU 的 make 进行讲述,我的环境是 RedHat Linux 8.0,make 的版本是 3.80。必竟,这个 m ak……