使用 Automake,Autoconf 生成 Makefile 使用 Automake,Autoconf 生成 Makefile 在 Unix 上写过程序的人尤其是用 C 来开发程序的人一般都遇到过 Makefile,用 make 来开发和编译程序的确很方便,可是要写出一个 Makefile 就不那么简单了。GNU Make 那份几百页的文件,让许多人害怕。当然,现在关于 make 的文档比较多,不过写一个 Makefile 总是一件很烦人的事情,GNU Autoconf 及 Automake 这两个软件就是帮助程序开发者轻松产生 Makefile 文件的。现在的 GNU 软件如 Apache, MySQL Minigui 等都是利用 Autoconf,Automake 实现自动编译的。用户只要使用 “ ./configure” , “ make” , “ make install” 就可以把程序安裝到系统中。 简介 Makefile 基本上就是『目标』(target), 『关联』(dependencies) 和『动作』三者所组成的一系列规则。而 make 就是根据 Makefile 的规则决定如何编译 (compile) 和连接 (link) 程序或者其它动作。当然,make 可做的不只是编译和连接程序,例如 FreeBSD 的 port collection 中,Makefile 还可以做到自动下载远程程序,解压缩 (extract) , 打补丁 (patch),设定,然后编译,安装到系统中。 Makefile 基本结构虽然很简单,但是妥善运用这些规则就可以变换出许多不同的花样。却也因为这样,许多人刚开始学写Makefile 时会觉得没有规范可以遵循,每个人写出来的 Makefile 都不大一样,不知道从哪里下手,而且常常会受到开发环境的限制,只要环境参数不同或者路径更 改,可能 Makefile 就得跟着修改。虽然有GNU Makefile Conventions (GNU Makefile 惯例)制订出一些在进行 GNU 程序设计时写 Makefile 的一些标准和规范,但是其内容很长而且很复杂,并且经常作一些调整,为了减轻程序开发人员维护Makefile 的负担,就出现了 Automake。 利 用 Automake,编程者只需要写一些预先定义好的宏 (macro),提交给Automake 处理,就会产生一个可以供 Autoconf 使用的 Makefile.in 文件。再配合使用 Autoconf 产生的自动配置文件 configure 即可产生一份符合 GNU Makefile 惯例的 Makeifle 了。 需要的软件 在开始使用 Automake 之前,首先确认你的系统安装有如下软件: 1. GNU Automake 2. GNU Autoconf 3. GNU m4 4. perl 5. GNU Libtool (如果你需要产生 shared library) 最 好也使...