zoukankan      html  css  js  c++  java
  • GNU Build System Autotools

    About autotools you can find here http://en.wikipedia.org/wiki/GNU_build_system

    Now let's learn it from an example

    create a dir and some source file that you need to compile

    mkdir autotools
    cd autotools vi main.c

    and in main.c ,we can write this into it

    #include<sydio.h>
    #include"hello.h"
    int main()
    {
          printf("%s\n",ch);          
          return 0;  
    }
    //example

    under ./autotools ,we can run autoscan,it will generate autoscan.log and configure.scan

    autoscan

    edit configure.scan and save it as configure.in

    vi configure.scan
    #edit this file

    and the final configure.in should be like this:

    AC_PREREQ(2.57)
    AC_INIT(main,1.0)
    AM_INIT_AUTOMAKE(main,1.0)
    AC_CONFIG_SRCDIR([main.c])
    AM_CONFIG_HEADER([config.h])
    # Checks for programs.
    AC_PROG_CC
    # Checks for libraries.
    # Checks for header files.
    # Checks for typedefs, structures, and compiler characteristics.
    # Checks for library functions.
    AC_CONFIG_FILES([Makefile])
    AC_OUTPUT
    AC_PREREQ references to the version of autoconf.
    AM_INIT_AUTOMAKE must be include in this file,and "main" is the programs's name.

    运行aclocal
    aclocal
    
    

    autoconf 生成autom4te.cache configure

    autoconf

    运行autoheader,生成config.h.in

    autoheader

    用vi编辑Makefile.am

    vi Makefile.am

    加入如下内容:

    AUTOMAKE_OPTIONS=foreign

    bin_PROGRAMS=main

    hello_SOURCES=main.c hello.h

    运行automake
    automake --add-missing

      then we can use ./configure to generate Makefile, and use make to compile it, and use make install to install it into your system

  • 相关阅读:
    算法很美(一)
    pytest学习(四)
    pytest学习(三)
    pytest学习(二)
    pytest学习(一)
    HTTP协议详细介绍,面试详全强助攻!
    Docker实战总结
    微信小程序测试整理
    这些用例设计题,你在面试时遇到过吗?
    测试面试题集-Dubbo常见面试题(12)
  • 原文地址:https://www.cnblogs.com/rayfloyd/p/2831177.html
Copyright © 2011-2022 走看看