1. 确定是否按照autotools系列工具aclocal, autoscan ,autoconf,autoheader,automake等
查看方法:rpm –qa | grep auto; 或者which aclocal
2. 如果没有则安装,Fedora19的安装方法。如果安装了则跳过。
yum install automake
3. 准备好源文件hello.c,利用autotools系列命令生成makefile。步骤如下:
1. 运行autoscan命令,会生成autoscan.log ,configure.scan两个文件
并利用命令mv configure.scan configure.in。将生成的configure.scan更改为autoconf需要的文件模版configure.in。然后修改configure.in文件,修改的内容如下:
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.69])
#AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
#modified by lt
AC_INIT(hello,1.0)
#added by lt
AM_INIT_AUTOMAKE(hello,1.0)
AC_CONFIG_SRCDIR([hello.c])
AC_CONFIG_HEADERS([config.h])
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
#added by lt
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
-- INSERT --
4. 运行命令aclocal。会生成autom4te.cache文件夹和aclocal.m4文件。configure.in里面包含了一系列的宏命令,运行aclocal的目的是把工程需要的宏命令展开。(aclocal.m4就是configure.in中用到的宏定义)。
5. 运行命令autoconf命令,生成“configure”可执行文件
6. 运行命令autoheader命令 --生成配置头文件的模板config.h.in
7. 新建配置脚本文件Makefile.am。内容如下:
AUTOMAKE_OPTIONS =foreign
bin_PROGRAMS =hello
hello_SOURCES =hello.c
8. automake --add-missing--生成Makefiel.in和所需要的脚本automake --add-missing--其中add-missing选项会让automake自动添加一些必须的脚本文件。
9. 运行命令./configure, --生成最终的Makefile文件
10. 运行命令make,即可编译生成可执行文件hello。
注意:如果make不成功,试试先清除之前的可执行文件和目标文件,运行
make clean
参考资料:http://shaoguangleo.blog.163.com/blog/static/22779832011116700660/