Linux下编程工具的使用(4) - autoconf/automake工具
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-30
使用Automake,Autoconf生成Makefile
简介 Makefile 基本上就是『目标』(target), 『关联』(dependencies) 和『动作』三者所组成的一系列规则.而 make 就是根据 Makefile 的规则决定如何编译 (compile) 和连接 (link) 程序或者其它动作.当然,make 可做的不只是编译和连接程序,例如 FreeBSD 的 port collection 中,Makefile还可以做到自动下载远程程序,解压缩 (extract) , 打补丁 (patch),设定,然后编译,安装到系统中. Makefile 基本结构虽然很简单,但是妥善运用这些规则就可以变换出许多不同的花样.却也 ![]() ![]() ![]() 利用Automake,编程者只需要写一些预先定义好的宏 (macro),提交给Automake处理,就会产生一个可以供 Autoconf 使用的 Makefile.in文件.再配合使用 Autoconf产生的自动配置文件 configure 即可产生一份符合 GNU Makefile 惯例的 Makeifle 了. 需要的软件 在开始使用 Automake 之前, ![]() 1. GNU Automake 2. GNU Autoconf 3. GNU m4 4. perl 5. GNU Libtool (如果你需要产生 shared library) 最好也使用 GNU C/C 编译器 、GNU Make 以及其它 GNU 的工具程序来作为开发的环境,这些工具都是属于 Open Source Software 不但免费 ![]() 一个简单的例子 Automake 所产生的 Makefile 除了可以做到程序的编译和连接,也可以用来生成文档(如 manual page, info 文件等),还可以有把源码文件包装起来以供发布, ![]() 在工作 目录下建立一个新的子目录devel,再在 devel 下建立一个"hello"'''' 的子目录,这个目录将 作为存放 hello这个程序及其相关文件的地方: % mkdir devel;cd devel;mkdir hello;cd hello 用编辑器写一个hello.c文件, |
#include <stdio.h> int main(int argc, char** argv) { printf(“Hello, GNU!n”); return 0; } |
接下来就要用 Autoconf 及 Automake 來产生 Makefile 文件了,
1. 用 autoscan 产生一个 configure.in 的原型,执行autoscan 后会产生一个configure.scan 的文件,可以用它作为 configure.in文件的蓝本.
% autoscan
% ls
configure.scan hello.c
2. 编辑 configure.scan文件,如下所示,並且改名为configure.in
dnl Process this file with Autoconf to produce a configure scrīpt. AC_INIT(hello.c) AM_INIT_AUTOMAKE(hello, 1.0) dnl Checks for programs. AC_PROG_CC dnl Checks for libraries. dnl Checks for header files. dnl Checks for typedefs, structures, and compiler characteristics. dnl Checks for library functions. AC_OUTPUT(Makefile) |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
你可能对下面的文章感兴趣
关于Linux下编程工具的使用(4) - autoconf/automake工具的所有评论