美文网首页
【转】GNU autotools(三)configure & m

【转】GNU autotools(三)configure & m

作者: RonZheng2010 | 来源:发表于2020-06-30 17:31 被阅读0次

    1. 简介

    运行autotools后,留下一个configure脚本,一个或多个Makefile.in文件。它们是你的项目发布包的一部分。

    你的用户下载这些软件包,解压,然后在顶层目录中输入:

    ./configure && make
    

    automake生成Makefile.in,而不是直接生成Makefile,原因是不想让用户在运行configure之前运行make。这样configure有机会将平台和用户指定选项的特性,插入Makefile。这使得Makefile更适合目标平台和最终用户的偏好。

    2. configure

    2.1 configure

    configure脚本检查用户系统的可用特性,生成脚本config.status,然后执行这个脚本。config.status 包含configure所有的检查结果。

    configure也生成一个日志文件config.log。这个日志记录configure是如何被执行的。当configure在用户系统中执行失败时,其中包含非常有用的信息。

    你可能认为是configure脚本生成了你的make文件。但事实上,除了日志文件config.log之外,configure只生成了config.status。

    2.2 config.status

    config.status脚本使用检查信息,生成平台特定的config.h和Makefile,以及任何在configure.ac中所指定的实例化信息。

    config.status与configure之间有双向关系,config.status也可以调用configure。使用--recheck选项时,config.status用原来生成config.status的相同的命令行选项,调用configure。

    下图展示了configure和config.status在配置过程中的调用关系和数据流。

    3. make

    在根据依赖关系构建的过程中,make运行几个辅助的脚本,这些脚本是autotools的一部分,它们要么是附带在你的软件包里,要么是由你的配置脚本生成。

    下图展示了构建过程中make与Makefile之间的关系。

    参考文档

    《Autotools - GNU Autoconf, Automake与Libtool实践者指南》第一章
    《Autotools - GNU Autoconf, Automake与Libtool实践者指南》第三章
    Autoconf官方文档

    相关文章

      网友评论

          本文标题:【转】GNU autotools(三)configure & m

          本文链接:https://www.haomeiwen.com/subject/drlofktx.html