automake的学习使用
综合各位大佬的心得,总算把automake学会了,接下来写写总结,以备后用
首先转一张图
(转自http://blog.zquan.me/?tag=aclocal-m4)
这张图基本说明了automake的流程
下面列出工程是一个带两个.h文件和三个.c组合而成的
其中first.c有个函数会返回3,second.c将传入的参数加30,对应头文件是函数的声明
main.c内容如下
如果编译链接运行成功将输出333
首先在项目顶层下运行autoscan
结果如下
制作configure.ac文件,cp configure.scan configure.ac
修改configure.ac内容,原本内容如下
修改这三个地方,
第一条分别是应用名,版本号,bug报告邮箱
第二个是automake时需要的,不加会报错
第三个是makefile输出位置,如果需要输出多个makefile需全部加上(刚开始学习,多个makefile还不会,将就着用啦)
接着使用aclocal
接下来制作makefile.in,需要手写Makefile.am
内容如下
解析如下
第一项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
所有文件如下
直接make
可以看到out已经被生成了
执行
接下来可以make install安装到系统中进行使用了