Chinaunix首页 | 论坛 | 博客
  • 博客访问: 191312
  • 博文数量: 26
  • 博客积分: 2031
  • 博客等级: 大尉
  • 技术积分: 180
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-10 22:13
文章分类

全部博文(26)

文章存档

2015年(1)

2013年(1)

2012年(1)

2011年(1)

2010年(17)

2009年(5)

我的朋友

分类:

2009-10-22 22:16:58

上一篇简要介绍了手动建立makefile的方法,本篇仍以上篇5个文件为例。

对于一个较大的项目而言,完全手动建立Makefile是一件费力而又容易出错的工作。autotools系列工具只需用户输入简单的目标文件、依赖文件、文件目录等就可以比较轻松地生成Makefile了。现在Linux上的软件开发一般都是用autotools来制作Makefile。
autotools工具主要有:aclocal、autoscan、autoconf、autoheader、automake。使用autotools主要就是利用各个工具的脚本文件来生成最后的Makefile。下面结合实例来介绍具体的流程。

第一步 autoscan

使用autoscan在给定目录及其子目录树中检查源文件,如果没有给出目录,就在当前目录及其子目录树中进行检查。最终生成两个文件:configure.scan、autoscan.log

[armlinux@lqm autotools-easy]$ tree
.
|-- main.c
|-- mytool1.c
|-- mytool1.h
|-- mytool2.c
`-- mytool2.h

0 directories, 5 files
[armlinux@lqm autotools-easy]$ autoscan
[armlinux@lqm autotools-easy]$ tree
.
|-- autoscan.log
|-- configure.scan
|-- main.c
|-- mytool1.c
|-- mytool1.h
|-- mytool2.c
`-- mytool2.h

0 directories, 7 files

其中,configure.scan是configure.in的原型文件。而configure.in是autoconf的脚本配置文件。所以下一步的工作就是要对configure.scan进行修改,将其转化为configure.in。

第二步   autoconf

configure.scan文件内容如下:

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

AC_PREREQ(2.57)
AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
AC_CONFIG_SRCDIR([main.c])
AC_CONFIG_HEADER([config.h])

# Checks for programs.
AC_PROG_CC

# Checks for libraries.

# Checks for header files.

# Checks for typedefs, structures, and compiler characteristics.

# Checks for lib……
阅读(895) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~