美文网首页
Automake傻瓜式步骤

Automake傻瓜式步骤

作者: T9Traverler | 来源:发表于2019-07-31 11:32 被阅读0次

    1.写测试代码

    #include <iostream>
    
    using namespace std;
    int main ()
    {
      cout << "Automake test!  \n";
      return 0;
    }
    

    2.autoscan

    #autoscan
    生成autoscan.log及configure.scan
    貌似以下perl的错误是可以忽略的:
    Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/\${ <-- HERE [^\}]*}/ at /usr/bin/autoscan line 361.

    3.修改configure.ac

    • 更名configure.scan
      mv configure.scan configure.ac
    • 修改configure.ac
      修改AC_INIT,如AC_INIT([test], [1.0], [test@test.com])
      增加AM_INIT_AUTOMAKE([test],[1.0])
      修改AC_OUTPUT([Makefile])

    4.运行 aclocal

    #aclocal
    生成autom4te.cache及aclocal.m4

    5.运行 autoconf

    #autoconf
    生成configure

    6.运行 autoheader

    #autoheader
    生成config.h.in

    7.创建 Makefile.am

    automake的输入脚本为Makefile.am,可以在该文件中定制编译的输出输出files, 传给下一步的automake

        AUTOMAKE_OPTIONS=foreign
        bin_PROGRAMS=test
        test_SOURCES=test.cpp
    
    • AUTOMAKE_OPTIONS
      为automake的选项,定义了代码的严格级别,见(http://www.gnu.org/software/automake/):

      • foreign
        只检查必须文件
      • gnu
        默认选项,需符合GNU规范
      • gnits
        兼容Gnits规范
    • bin_PROGRAMS
      定义了即将生成的可执行文件名

    • test_SOURCES
      定义了“test”这个程序所需要的原始文件, 可跟一个或多个文件,多个文件必须都列出来,用空格隔开

    8.运行 automake

    #automake --add-missing
    --add-missing选项可以让automake自动添加有一些必需的模块, 这里会生成Makefile.in及其它一些缺失文件,当提示"required directory ./build-aux does not exist",需要手动创建该目录(mkdir build-aux); 提示"error: required file 'build-aux/ltmain.sh' not found"时,可通过libtoolize拷贝,即执行:
    #libtoolize --automake --copy --debug --force

    9.运行./configure

    #./configure
    生成Makefile文件

    10.运行 make

    #make

    11.测试程序 ./test

    #./test

    相关文章

      网友评论

          本文标题:Automake傻瓜式步骤

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