自动生成Makefile的详细过程

自动生成Makefile的详细过程
文本预览:

# 创建输出文件。在`configure.in'的末尾调用本宏一次。#AC_OUTPUT------------------------------------------------修改动作:1.修改AC_INIT里面的参数: AC_INIT(main,1.0, pgpxc@163.com)2.添加宏AM_INIT_AUTOMAKE, 它是automake所必备的宏,也同前面一样,PACKAGE是所要产生软件套件的名称,VERSION是版本编号。3.在AC_OUTPUT后添加输出文件Makefile修改后的结果:------------------------------------------------# -*- Autoconf -*-# Process this file with autoconf to produce a configure script.AC_PREREQ(2.61)AC_INIT(main, 1.0, pgpxc@163.com)AC_CONFIG_SRCDIR([main.c])AC_CONFIG_HEADER([config.h])AM_INIT_AUTOMAKE(main,1.0)# Checks for programs.AC_PROG_CC# Checks for libraries.# Checks for header files.# Checks for typedefs, structures, and compiler characteristics.# Checks for library functions.AC_OUTPUT([Makefile])------------------------------------------------第四步:运行 aclocal, 生成一个“aclocal.m4”文件和一个缓冲文件夹autom4te.cache,该文件主要处理本地的宏定义。此时的状态是:[root@localhost main]# aclocal[root@localhost main]# lsaclocal.m4 autom4te.cache autoscan.log configure.in configure.in~ main.c[root@localhost main]# 第五步:运行 autoconf, 目的是生成 configure 此时的状态是:[root@localhost main]# autoconf[root@localhost main]# lsaclocal.m4 autoscan.log configure.in main.cautom4te.cache configure configure.in~[root@localhost main]# 第六步:运行 autoheader,它负责生成config.h.in文件。该工具通常会从“acconfig.h”文件中复制用户附加的符号定义,因此此处没有附加符号定义,所以不需要创建“acconfig.h”文件。此时的状态是:[root@localhost main]# autoheader[root@localhost main]# lsaclocal.m4 autoscan.log configure configure.in~autom4te.cache config.h.in configure.in main.c[root@localhost main]# 第七步:下面即将运行 automake, 但在此之前应该做一下准备工作!首先创建一个 Makefile.am.这一步是创建Makefile很重要的一步,automake要用的脚本配置文件是Makefile.am,用户需要自己创建相应的文件。之后,automake工具转换成Makefile.in。这个Makefile.am的内容如下:------------------------------------------------AUTOMAKE_OPTIONS=foreignbin_PROGRAMS=mainmain_SOURCES=main.c------------------------------------------------下面对该脚本文件的对应项进行解释。其中的AUTOMAKE_OPTIONS为设置automake的选项。由于GNU(在第1章中已经有所介绍)对自己发布的软件有严格的规范,比如必须附 带许可证声明文件COPYING等,否则automake执行时会报错。automake提供了三种软件等级:foreign、gnu和gnits,让用 户选

第2页/共4页 <上一页下一页>尾页

寻找更多 "自动生成Makefile的详细过程"