使用autotools生成makefile

autotools是生成makefile的工具集合。
它包括:
aclocal
autoscan
autocanf
autoheader
automake
使用步骤:
1.autoscan
它会在给定目录及其子目录树中检查源文件,若没有给出目录,就在当前目录及其子目录树中进行检查,它会搜索源文件以寻找一般的移植性问题并创建一个文件“configure.scan”该文件就是接下来autoconf要用到的“configure.in”原型。
#autoscan
#ls
autoscan.log configure.scan hello.c
2.autoconf
configure.in是autoconf的脚本配置文件,它的原型文件“configure.scan”如下所示:
#autoconf
AC_PREREQ(2.59)
AC_INIT(hello,1.0)
AM_INIT_AUTOMAKE(hello,1.0)
AC_CONFIG_SRCDIR([hello.c])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_FILES([makefile])
3.autoheader
接着使用autoheader命令,它负责生成config.h.in文件。该工具通常会从“acconfig.h”文件中复制用户附加的符号定义,所以不需要创建“acconfig.h”
#autoheader
4.automake
这一步是创建makefile的很重要的一步,automake要用的脚本配置文件是makefile.am,用户需要自己创建相应的文件。之后,automake工具转换成makefile.in。在该例中,笔者创建的文件为makefile.am。如下所示:
AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=hello
hello_SOURCES=hello.c
#automake -a
5.运行configure
#./configure


1.make
2.make install 安装 /usr/local/bin
3.make clean 删除.o 和 可执行程序
4.make dist 打包

你可能感兴趣的:(使用autotools生成makefile)