为什么要用autotools来制作makefile文件? 众所周知,我们在编写一个简单的程序时,只要GCC编译器编译即可得到可执行文件,但是,做为一个工程项目,它包含的文件去远远不止单一的代码文件,大家可以试想一下,有一个上百个文件的代码构成的项目,如果其中只有一个或少数几个文件进行了修改,假如用gcc编译器编译,就不得不把这所有的文件重新编译一遍,因为编译器并不知道哪些文件是最近更新的,而只知道需要包含这些文件才能把源代码编译成可执行文件。由于上述原因会导致实现项目的工作效率很低。 编译过程是分为编译、汇编、链接不同阶段的,其中编译阶段仅检查语法错误以及函数与变量的声明是否正确,在链接阶段则主要完成是函数链接和全局变量的链接。因此,那些没有改动的源代码根本不需要重新编译,而只要把它们重新链接进去就可以了。所以,Make工程管理器也就应运而生了。 Make工程管理器:它能够根据文件时间自动发现更新过的文件而减少编译的工作量,同时,它通过读入Makefile文件的内容来执行大量编译工作,用户只需要编写一次编译语句就可以了,即编写一个makefile文件,它大大提高了实际项目的工作效率。 但是,编写makefile文件需要懂它的一些编写规则,如结构、变量、规则等。手工编写makefile确实不是一件轻松的事,尤其对一个较大的项目而言。那么,有没有一种轻松的方法生成makefile而同时又能让用户享受make的优越性呢。 答案是autotools系列工具。 Autotools的使用 现在linux上的软件开发一般都用autotools来制作Makefile。 Autotools的使用流程: autoscan-->aclocal-->autoconf-->autoheader-->automake 具体实例操作,点击以下链接下载: