自动生成 Makefile 的全过程详解
automake/autoconf 入门 automake/autoconf 入门 作为Linux 下的程序开发人员,大家一定都遇到过Makefile ,用make 命令来编译自己写的程序确实是很方便
一般情况下,大家都是手工写一个简单Makefile ,如果要想写出一个符合自由软件惯例的Makefile 就不那么容易了
在本文中,将给大家介绍如何使用autoconf 和automake 两个工具来帮助我们自动地生成符合自由软件惯例的Makefile ,这样就可以象常 见的GNU 程序一样,只要使用“
/configure” ,“make” ,“make instal” 就可以把程序安装到Linux 系统中去了
这将特别适合想做开放源代码软件的程序开发人员,又或如果你只是自己写些小的Toy 程序,那么这 个文章对你也会有很大的帮助
一、Makefile 介绍 Makefile 是用于自动编译和链接的,一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但是不是所有的文件都需要重新编译,Makefile 中纪录有文件的信息,在make 时会决定在链接的时候需要重新编译哪些文件
Makefile 的宗旨就是:让编译器知道要编译一个文件需要依赖其他的哪些文件
当那些依赖文件有了改变,编译器会自动的发现最 终 的生成文件已 经 过时,而 重新编译相 应 的模 块
Makefile 的基 本结 构 不是很复 杂 ,但当一个程序开发人员开始 写Makefile 时,经 常会怀 疑 自己写的是否 符合惯例,而 且 自己写的 Makefile 经 常和自己的开发环 境 相 关 联 ,当系统环 境 变量 或路 径 发生了变化 后 ,Makefile 可能 还 要跟 着 修改
这样就造 成了手工书 写 Makefile 的诸 多