zoukankan      html  css  js  c++  java
  • Makefile.am, Makefile.in 与 Makefile的关系(转)

    文章出处:http://blog.mcuol.com/User/wangguangdong/Article/17384_1.htm

    Makefile.am, Makefile.in, Makefile之间关系以及aclocal, automake, autoconf等命令作用的探究

    aclocal   #产生 aclocal.m4
    libtoolize --force
    automake --add-missing   #根据Makefile.am生成Makefile.in
    autoconf   #根据configure.in 生成configure 
    autoheader

    为了弄清楚automake等一系列命令的作用,专门搜集并阅读了一些相关资料。并通过下面一个小例子,熟悉了一下这些GNU工具的使用:

    例子:在/hello/目录下创建一个hello.c文件,并编译运行它:

    #cd /hello/

    (1) 编写源文件hello.c:

    include 
    int main(int argc, char** argv)
    {
    printf("Hello, GNU!n");
    return 0;
    }

    (2) #autoscan 
    ->生成 configure.scan 和 autoscan.log

    (3) 将configure.scan 修改为 configure.in:

    # Process this file with autoconf to produce a configure script.
    AC_INIT(hello.c)
    AM_INIT_AUTOMAKE(hello, 1.0)

    # Checks for programs.
    AC_PROG_CC

    # Checks for library functions.
    AC_OUTPUT(Makefile)

    (4) #aclocal
    ->生成 aclocal.m4 和 autom4te.cache (生成aclocal.m4的过程中涉及到configure.in)

    (5) #autoconf
    ->生成 configure (根据 configure.in, 和 aclocal.m4)

    (6) 编写Makefile.am:

    AUTOMAKE_OPTIONS= foreign
    bin_PROGRAMS= hello
    hello_SOURCES= hello.c

    (7) #automake --add-missing
    ->生成 Makefile.in, depcomp, install-sh, 和 missing (根据 Makefile.am, 和 aclocal.m4)

    (8) #./configure
    ->生成 Makefile, config.log, 和 config.status

  • 相关阅读:
    CSS 浮动
    函数defined
    SVN提交冲突
    抽象方法和抽象类
    Teco测试总结
    面向对象三大特性(封装,继承,多态)之多态
    PHP工厂模式的简单实现
    DOM 访问节点
    c程序的执行过程
    PHP实现菱形与杨辉三角形【php趣味案例】
  • 原文地址:https://www.cnblogs.com/zl1991/p/7241072.html
Copyright © 2011-2022 走看看