• 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的安装动作。

  • 相关阅读:
    java 接口的定义即实现
    进程的pv。。
    变量,常量,字符,字符串,数组的声明及初始化
    运算符重载
    数组大小的声明 1到100的素数
    第十二周助教总结(2021.4.192021.4.25)
    第十周助教总结(2021.4.52021.4.11)
    第十一周助教总结(2021.4.122021.4.18)
    助教周报(第一轮)王冰炜
    ThinkPHP3.1.2整合UCenter详解(一)
  • 原文地址:https://www.cnblogs.com/tongyishu/p/12797985.html
Copyright © 2020-2023  润新知