如何使用autotools系列工具生成makefile

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两个文件


1. 使用autoscan命令

并利用命令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中用到的宏定义)。

4 aclocal命令

5. 运行命令autoconf命令,生成“configure”可执行文件

6. 运行命令autoheader命令 --生成配置头文件的模板config.h.in


6 autoheader命令

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/

你可能感兴趣的:(如何使用autotools系列工具生成makefile)