Electronic Joint Business

Solution for E-Business

automake

用 autoconf 和 automake 生成 makefile

文章评价:
在 Unix/Linux 上编写程序的人大都遇到过 Makefile,尤其是使用 C/C++ 语言的开发者。用 make 来开发和编译程式的确很方便,可是要编写一个 Makefile 就不那么简单了。而且介绍 Makefile 的资料并不多,GNU Make 那份打印出来要几百页的文件,光看完序言就是花不少时间,难怪许多人谈 Unix 编程而色变。

本文将介绍如何利用 GNU Autoconf 及 Automake 这两套软件来帮助我们“自动”生成 Makefile 文件,让开发出来的软件可以像 Apache,MySQL 等常见应用一样,只要输入 “ ./configure ”, “ make ”,“ make install” 就可以把编译结果安装到系统中。

如果您有心开发开源软件,或主要是在 Unix/Linux 系统下编写程序。希望这份介绍文件能帮助您轻松地进入 Unix/Linux 编程的殿堂。

简介
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 的负担, GNU 推出了 Automake 这个工具。

>>> 阅读全文

 

, , , ,