使用automake完成源文件到目标文件的生成。

[复制链接]
 楼主| keer_zu 发表于 2014-12-1 16:44 | 显示全部楼层 |阅读模式
生成 Makefile 的来龙去脉
首先进入 project 目录,在该目录下运行一系列命令,创建和修改几个文件,就可以生成符合该平台的Makefile文件,操作过程如下:
1)        运行autoscan命令
2)        将configure.scan 文件重命名为configure.in,并修改configure.in文件
3)        在project目录下新建Makefile.am文件,并在core和shell目录下也新建makefile.am文件
4)        在project目录下新建NEWS、 README、 ChangeLog 、AUTHORS文件
5)        将/usr/share/automake-1.X/目录下的depcomp和complie文件拷贝到本目录下
6)        运行aclocal命令
7)        运行autoconf命令
8)        运行automake -a命令
9)        运行./confiugre脚本
可以通过图2看出产生Makefile的流程,如图所示:
 楼主| keer_zu 发表于 2014-12-1 16:59 | 显示全部楼层
 楼主| keer_zu 发表于 2014-12-1 17:01 | 显示全部楼层
我自己的configure.in的一个实例:


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

AC_PREREQ(2.59)
AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
AC_CONFIG_SRCDIR([FileConvertServer/FileConvert.cpp])
AC_CONFIG_HEADER(config.h)

AM_INIT_AUTOMAKE(fileconvert,1.0)

AC_PROG_MAKE_SET

AC_PROG_RANLIB

# Checks for programs.
AC_PROG_CXX
AC_PROG_CC

# Checks for libraries.
# FIXME: Replace `main' with a function in `-levent':
AC_CHECK_LIB([event], [main])
# FIXME: Replace `main' with a function in `-lmyevent':
AC_CHECK_LIB([myevent], [main])
# FIXME: Replace `main' with a function in `-lpthread':
AC_CHECK_LIB([pthread], [main])


# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for library functions.

AC_CONFIG_FILES([FileConvertServer/Makefile
                 Makefile
                 event/Makefile])
AC_OUTPUT
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:qq群:49734243 Email:zukeqiang@gmail.com

1479

主题

12921

帖子

55

粉丝
快速回复 在线客服 返回列表 返回顶部