虽然make工具很强大,但是编写makefile还是一件很痛苦的事。自从有了autotools,方便了很多,呵呵。
首先用which命令查看是否安装了以下程序
aclocal
autoscan
autoconf
autoheader
automake
例如文件夹hello中有文件hello.c和hello.h两个文件。首先进入该文件夹
1、运行autoscan,运行后会生成文件configure.scan和autoscan.log
2、vim configure.scan
修改AC_INIT(...)中的软件包名字,版本和作者邮件地址
添加一句AM_INIT_AUTOMAKE(hello, 1.0)不然后面会报错
确认是否有AC_OUTPUT_FILES([Makefile])
最后将此文件更名为configure.in
3、运行aclocal生成一个名为aclocal.m4的文件,此文件主要处理本地的宏定义。
4、运行autoconf,运行后会生成一个可执行的脚本文件名字为configure。
5、运行autoheader,运行后会生成一个名为config.h.in的文件。
6、由于automake需要脚本配置文件Makefile.am,此文件需要手动创建。
vim Makefile.am添加如下语句
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=hello
hello_SOURCES=hello.c hello.h
7、运行automake --add-missing生成文件Makefile.in文件。
8、运行./configure
9、这个时候就可以运行make系列的命令了。如果想制作发行的软件包可以使用命令make dist。这个时候会在目录下生成一个hello-1.0-tar.gz的软件包。
linux中autotools的使用
最新推荐文章于 2022-04-19 19:53:25 发布