zoukankan      html  css  js  c++  java
  • automake的使用

    automake原理图(configure.in也为configure.ac):

    test工程目录如下:

    其中NEWSAUTHORSChangeLogREADME需要手动创建,可以为空但必须存在,否则automake阶段会报错。

    Makefile.am文件需要手动编写。

    src/Makefile.am可以为空但必须存在,否则编译阶段会报错。

    test.c为测试构建的文件。

    build.sh为手动编写的自动构建的脚本,详细的构建过程可以参见build.sh文件。

    Makefile.am内容如下:

    AUTOMAKE_OPTIONS=foreign
    SUBDIRS=src
    bin_PROGRAMS=test
    test_SOURCES=src/test.c
    # test_LDADD=xxx.a
    # tets_LIBS=-l xxx -l xxx

    build.sh的内容如下:

    #!/bin/bash
    
    # autoscan:用于生成configure.scan文件
    autoscan
    # 修改configure.scan为configure.ac
    mv configure.scan configure.ac
    # 修改configure.ac中的相关配置
    sed -i 's/FULL-PACKAGE-NAME/test.tar.gz/g' configure.ac sed -i 's/VERSION/1.0/g' configure.ac sed -i 's/BUG-REPORT-ADDRESS/tongyishu@huawei.com/g' configure.ac sed -i '/AC_INIT/aAM_INIT_AUTOMAKE' configure.ac
    # aclocal:由configure.in生成aclocal.m4 aclocal
    # autoheader:生成config.h.
    in autoheader
    # autoconf:由configure.ac和aclocal.m4生成configure脚本 autoconf
    # automake:由Makefile.am和configure.ac生成各级目录下的Makefile.
    in # --add-missing 让automake自动添加一些必需的脚本文件 automake --add-missing
    # configure:生成Makefile文件 .
    /configure
    #
    make:由Makeile生成可执行程序 make
    # make install

    在workspace目录下执行./build.sh即可产生 test 二进制可执行文件。

    这里只是生成了test,并未执行make install的安装动作。

  • 相关阅读:
    python 一
    opengl 正方体+模拟视角旋转
    MFC窗口实现最小化到托盘 右键菜单和还原
    C++获取当前机器内网IP地址
    ubuntu vim终端编辑命令
    整理网站优化(SEO)的方案
    c++函数声明的位置对函数重载的影响
    lua调用dll demo
    一、智能指针及线程同步总结------linux多线程服务端编程
    vscode remote wsl 的NoPermissions permission denied问题
  • 原文地址:https://www.cnblogs.com/tongyishu/p/12797985.html
Copyright © 2011-2022 走看看