在linux下进行软件开发是一件很不轻松的事情。 可是如果你入门了, 一些基础的工具使用熟练了, 在linux下爬代码是很舒服很愉悦的事情。
为什么这么说呢? linux 下的软件开发与windows下的软件开发很不一样。
 windows为开发者提供了一个无比强大的编译工具Visual Studio,微软将那些复杂和令人难受的编译器配置全部给透明化了, 对于开发者来说,只要专注与软件本身就好了。
而linux是没有这么好用的工具的, 我用过anjuta, 这个工具在我看来就像一个半成品, 在这个工具下调试软件是一件非常痛苦的事,现在想想还很纠结。我还用过eclipse cdt, 开发android软件的时候我用的是eclipse, 所以对这个软件很熟悉,可惜的是网络上过于这个软件编译和添加共享库的介绍太少了, 我用最土的方法添加共享库,虽然最后软件可以编译通过, 但是我搞不清楚怎么联合源码编译调试,看了eclipse cdt 官方manual, 至今还是很糊涂。没办法了, 只好回到头来,硬着头皮看autotools.  接下来就是主要介绍autotools的使用方法。
在学习autotools的使用方法之前, 建议大家学习下Makefile语法 和 Linux Shell 基础知识, 不用很细, 毕竟要精通还是要费好大一番功夫的。
Makefile语法 链接: 这个非常简单的介绍, 估计看了之后大家都会对makefile有个比较简单的了解。
makefile的语法及写法   http://blog.csdn.net/zhoubl668/archive/2009/03/03/3952967.aspx
makefile的语法及写法(二)  http://blog.csdn.net/zhoubl668/archive/2009/03/03/3952988.aspx
另外还有一个参考文档, 内容比较多,是用来查找资料的。
这些是关于makefile语法的, 可是如果我们要是有很大的工程, 或者是需要开发可移植的软件时, 这个就不很方便了。这就用到了autotools了。
首先需要说的是, autotools是为了移植方便和帮助用户生成复杂的Makefile而设计的, 也就是说, 没有autotools我们会了Makefile也可以开发软件, 只不过麻烦些罢了。
autotools的工具有autoscan aclocal autoconf 等。
网上的资料有:
Linux下Makefile的automake生成全攻略   http://tech.sina.com.cn/s/2004-10-19/1115443045.shtml 
使用autotools建立Makefile简单实例解析   http://www.cublog.cn/u/21948/showart_175235.html
第一个比较好, 比较简单的说明了情况, 是入门的好东西。