利用autoconf和automake来自动生成MakeFile

来源:互联网 发布:迅雷极速版 mac 破解 编辑:程序博客网 时间:2024/06/04 04:43

首先在环境中确保含有 autoconf和automake等必须的工具:

 yum -y install gcc automake autoconf libtool make

 

比如我们在/home/test/下建立一个test.cpp的文件

#include <stdio.h>

int main (int argc,char argv[]){
printf("Hello world");
return 0;
}

1)在这个文件夹下运行autoscan

获得configure.scan

#                                               -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.

AC_PREREQ([2.63])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AC_CONFIG_SRCDIR([test.cpp])
AC_CONFIG_HEADERS([config.h])

# Checks for programs.
AC_PROG_CXX

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT

 

2)修改configure.scan-〉configure.in

AC_PREREQ([2.63])
AC_INIT([FULL-PACKAGE-NAME], [VERSION], [BUG-REPORT-ADDRESS])
AC_CONFIG_SRCDIR(test.cpp)
AM_INIT_AUTOMAKE(test,1.0)

# Checks for programs.
AC_PROG_CXX

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_OUTPUT(Makefile)

将config.h的语句删除,将([])替换成()

增加AM_INIT_AUTOMAKE(test,1.0) 和AC_OUTPUT(Makefile)两句话

 

3)运行aclocal

4) 运行autoconf

这是可以生成configure文件

5)编写Makefile.am

该文件的目的就是记录所有要包含在该项目中的文件,路径

AUTOMAKE_OPTIONS=foreign
bin_PROGRAMS=test
test_SOURCES=test.cpp

 

6)automake --add-missing

 

7) sh configure

8)生成Makefile文件