`
lobin
  • 浏览: 425542 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
阅读更多
写道

configure是一个可独立运行的用于生成Makefile的配置脚本文件。本质上和其他的脚本没什么区别,所以也可以自行编写。如果自己去编写的话很麻烦,可以通过autoconf工具来生成。当然Makefile也可以自行编写,通过configure可以不用自己手工去编写Makefile。

 

 

 

configure

想要为程序生成configure配置脚本,需要用到几个工具。

autoscan

aclocal

autoconf

automake

 

 

想要通过autoconf工具来生成configure文件,有两个比较重要的文件。

configure.ac

configure.ac也可以是configure.in。这个配置文件可以通过aclocal工具生成。运行aclocal后会生成一个configure.scan文件,需要把这个文件改成configure.ac或者configure.in。这个文件需要根据自己需要进行修改。

 

Makefile.am

这个文件需要自己创建。

 

Makefile.am文件的一个例子

写道
AUTOMAKE_OPTIONS = foreign

INCLUDEES = -I.. -I../log/include


#lib_LIBRARIES = libmath.a
noinst_LIBRARIES = libmath.a
libmath_a_SOURCES = array.c map.c set.c similarity_chebyshev.c similarity_cos.c similarity_euclidean.c similarity_jaccard.c similarity_manhattan.c similarity_minkowski.c vt.c


SUBDIRS = . samples

export INCLUDES

 

 

autoconf

 

初始化configure

AC_INIT (package, version, [bug-report], [tarname], [url])

 

AC_INIT (unique-file-in-source-dir)

 

配置

头文件

AC_CONFIG_HEADERS (header ..., [cmds], [init-cmds])

 

老版本的automake使用AM_CONFIG_HEADER

AM_CONFIG_HEADER

 

例子

AM_CONFIG_HEADER(config.h)

 

宏目录

AC_CONFIG_MACRO_DIR (dir)

 

主机

AC_CANONICAL_HOST

 

定义变量

AC_DEFINE (variable, value, [description])

AC_DEFINE (variable)

 

AC_DEFINE_UNQUOTED (variable, value, [description])

AC_DEFINE_UNQUOTED (variable)

 

检查C编译器

AC_PROG_CC ([compiler-search-list])

 

检查C编译器-c -o选项

AC_PROG_CC_C_O

 

检查C编译器-E选项

AC_PROG_CPP

AC_PROG_CPP_WERROR

 

检查C编译器语言标准

AC_PROG_CC_STDC

AC_PROG_CC_C89

AC_PROG_CC_C99

 

检查C编译器是否支持'\a'

AC_C_BACKSLASH_A

 

检查C编译器是否支持const

AC_C_CONST

 

检查C编译器是否支持__restrict, __restrict__或者_Restrict

AC_C_RESTRICT

 

检查C编译器是否支持volatile

AC_C_VOLATILE

 

检查C编译器是否支持inline

AC_C_INLINE

 

检查char类型是否是unsigned无符号类型

AC_C_CHAR_UNSIGNED

 

检查C预处理器字符串化操作符#

AC_C_STRINGIZE

 

例子

#define x(y) #y

 

检查C编译器是否支持flexible array,即伸缩数组成员

AC_C_FLEXIBLE_ARRAY_MEMBER

 

检查C编译器是否支持variable-length arrays变长数组

AC_C_VARARRAYS

 

检查C编译器是否支持GCC typeof

AC_C_TYPEOF

 

检查C编译器是否支持函数原型

AC_C_PROTOTYPES

 

如果使用GNU C编译器,并且如果不指定-traditional,ioctl不能正常工作时,添加-traditional到输出变量CC

AC_PROG_GCC_TRADITIONAL

 

检查头文件

AC_CHECK_HEADERS (header-file..., [action-if-found], [action-if-not-found], [includes])

AC_CHECK_HEADERS_ONCE (header-file...)

 

检查依赖库

AC_CHECK_LIB (library, function, [action-if-found], [action-if-not-found], [other-libraries])

 

例子

AC_CHECK_LIB(resolv, inet_aton)

 

检查函数

AC_CHECK_FUNC (function, [action-if-found], [action-if-not-found])

 

AC_CHECK_FUNCS (function..., [action-if-found], [action-if-not-found])

 

AC_CHECK_FUNCS_ONCE (function...)

 

检查类型

AC_CHECK_TYPE (type, [action-if-found], [action-if-not-found], [includes = ‘AC_INCLUDES_DEFAULT’])

 

AC_CHECK_TYPES (types, [action-if-found], [action-if-not-found], [includes = ‘AC_INCLUDES_DEFAULT’])

 

automake

AM_INIT_AUTOMAKE([OPTIONS])

 

AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])

这种形式已废弃

 

 

0
0
分享到:
评论

相关推荐

    vim-configure.tar.gz_vim_vim_configure

    "vim-configure.tar.gz_vim_vim_configure" 是一个包含了 Vim 配置文件的压缩包,旨在帮助用户优化 Vim 的使用体验,提供自动提示、补全功能以及代码高亮等特性。 在 Vim 中配置这些功能,可以使编辑效率大幅提升。...

    Qt5 configure参数说明文档

    标题"Qt5 configure参数说明文档"指的是此文档旨在解释和说明如何使用Qt5软件框架中的configure工具的参数。configure是一个用于为特定系统配置源代码树的脚本,以便于编译并安装Qt5及其相关组件。文档中可能会详细...

    lidmodbus3.14(解决configure.js错误)

    《libmodbus 3.14:解决configure.js错误详解》 libmodbus是一个流行的开源库,用于实现Modbus通信协议。它支持多种操作系统,包括Linux、Windows和FreeRTOS等,广泛应用于工业自动化、物联网设备以及其他需要进行...

    【 调试助手 】串口虚拟工具(Configure Virtual Serial Port Driver v7.2)

    《串口虚拟工具详解——Configure Virtual Serial Port Driver v7.2》 在IT行业中,调试是软件开发过程中不可或缺的一部分,而串口通信作为经典的数据传输方式,在嵌入式系统、工业控制等领域广泛应用。针对这样的...

    Linux的Configure参数解释

    ### Linux的Configure参数详解 #### 引言 在Linux环境下安装软件时,通常需要通过`configure`脚本来完成前期配置工作。这对于确保软件能够正确地适应当前系统环境至关重要。`configure`脚本作为Autoconf工具的基本...

    linux configure 软件发布介绍

    配置脚本`configure`是这个过程中的关键组件,它负责检查目标系统的特性,生成适当的Makefile以适应不同的环境。本文将深入讲解`configure`及其相关工具在Linux软件发布的角色。 `configure`脚本是基于Autoconf工具...

    Configure Virtual Serial Port Driver(VSPD)模拟串口调试工具

    Configure Virtual Serial Port Driver (VSPD)就是这样一款强大的工具,它能够帮助用户创建虚拟串口,以模拟真实的串口功能,进行数据的收发调试。本文将深入探讨VSPD的工作原理、配置方法以及实际应用。 **一、...

    configure.和Makefile.之间的关系

    ### configure和Makefile之间的关系详解 #### 一、引言 在开源软件开发领域,特别是C/C++项目中,构建自动化工具链是非常重要的环节。其中,`configure` 和 `Makefile` 是两个不可或缺的关键组件。本文将深入探讨 ...

    linux下configure命令详细介绍

    而`configure`脚本作为源码安装的重要步骤,是理解和掌握Linux软件安装基础的关键。`configure`脚本通常由`autoconf`工具生成,用于检测系统的特性和配置,以便自动生成适合当前系统的`Makefile`。 `configure`脚本...

    制作有lib库的Configure

    制作有lib库的Configure是一项涉及自动化构建工具如Automake、Autoconf等的复杂过程,主要用于在不同平台上构建软件。此过程不仅包括了源代码的管理,还包括了库的创建、应用的编写以及最终构建脚本的自动生成。下面...

    计算机Switch#configure terminal

    ### 计算机网络中的Switch#configure terminal命令详解 #### 一、背景介绍 在现代计算机网络中,交换机作为连接各个终端设备的关键组件,在构建局域网(LAN)时发挥着至关重要的作用。通过使用特定的配置命令,网络...

    虚拟串口软件安装包Configure Virtual Serial Port Driver

    虚拟串口软件安装包Configure Virtual Serial Port Driver

    Linux 下 Nginx的安装:(解压,进入目录里面执行,./configure –-> make -> sudo make install)

    在这个阶段,你需要运行`./configure`脚本来配置编译选项。在标题中提到的配置中,`--prefix`用于设置Nginx的安装路径,默认为`/usr/local/nginx`。你可以根据需要添加其他配置参数。例如: ```bash ./configure...

    VMware vSphere: Install, Configure, Manage v5.1

    《VMware vSphere: Install, Configure, Manage v5.1》是面向IT专业人员的高级培训资料,旨在帮助用户深入了解并掌握VMware vSphere 5.1的核心功能和技术要点。本书不仅适用于希望获得VMware Certified Professional...

    Linux操作系统的Configure参数解释说明

    Linux 操作系统的 Configure 参数解释说明 Linux 操作系统中的 Configure 参数解释说明是软件安装的基础知识之一。Configure 脚本配置工具是 autoconf 的工具的基本应用。它提供了大量的命令行选项,用于配置软件包...

    Go-Configure-提供通过多个来源配置你的项目包括JSONflags和环境变量

    本篇文章将深入探讨"Go-Configure"这一库,它允许开发人员通过多种来源(如 JSON、命令行标志和环境变量)来配置他们的项目。 首先,让我们理解"Go-Configure"的核心功能。这个库旨在简化配置过程,使得项目能够...

    The GNU Configure and Build System

    开发者需要编写特定的文件,如configure.ac或configure.in(autoconf的配置模板),以及Makefile.am(automake的宏文件),系统会根据这些文件自动生成其他文件,如configure脚本、Makefile.in模板以及最终的...

    MyEclipse,在项目上右键,没有发现Configure菜单问题解决方案

    在myeclipse中,在项目上右键Configure->Convert to Maven Project,但是现在使用的是MyEclipse,在项目上右键,没有发现Configure菜单

Global site tag (gtag.js) - Google Analytics