automake的学习使用

综合各位大佬的心得,总算把automake学会了,接下来写写总结,以备后用

首先转一张图

(转自http://blog.zquan.me/?tag=aclocal-m4)

automake的学习使用

这张图基本说明了automake的流程

下面列出工程是一个带两个.h文件和三个.c组合而成的

automake的学习使用

其中first.c有个函数会返回3,second.c将传入的参数加30,对应头文件是函数的声明

main.c内容如下

automake的学习使用

如果编译链接运行成功将输出333

首先在项目顶层下运行autoscan

结果如下

automake的学习使用

制作configure.ac文件,cp configure.scan configure.ac

修改configure.ac内容,原本内容如下

automake的学习使用

automake的学习使用

修改这三个地方,

第一条分别是应用名,版本号,bug报告邮箱

第二个是automake时需要的,不加会报错

第三个是makefile输出位置,如果需要输出多个makefile需全部加上(刚开始学习,多个makefile还不会,将就着用啦)

接着使用aclocal

automake的学习使用

接下来制作makefile.in,需要手写Makefile.am

内容如下

automake的学习使用

解析如下

第一项AUTOMAKE_OPTIONS是个选项,暂时不能理解,据网上资料选foreign比较稳

第二项bin_PROGRAMS项目名

第三项和第四项的起名得注意,被坑了几次才发现,**_SOURCES **_CFLAGS **代表应用名

**_SOURCES后面将所有源文件头文件添加进去

**_CFLAGS是个头文件搜索目录

接下来使用

autoheader生成config.h.in

继续

touch NEWS README AUTHORS ChangeLog添加项目必备文件,这步不添加,下一步也会提示你添加

使用automake -a自动补齐其他文件,并且利用Makefile.am和configure.in生成Makefile.in

最后

autoconf生成configure

运行configure

./configure

所有文件如下

automake的学习使用

直接make

automake的学习使用

可以看到out已经被生成了

automake的学习使用

执行

automake的学习使用

接下来可以make install安装到系统中进行使用了