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

  • 相关阅读:
    Spring-12-spring整合Mybatis
    Spring-11-AOP面向切面编程
    jQuery选择器之表单元素选择器
    phpsmarty分配变量
    angular
    ajax 第四步
    ajax第三步
    php+ajax+jq
    二十三种设计模式[4]
    二十三种设计模式[3]
  • 原文地址:https://www.cnblogs.com/rayfloyd/p/2831177.html
Copyright © 2011-2022 走看看