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

  • 相关阅读:
    HDU 5528 Count a * b 欧拉函数
    HDU 5534 Partial Tree 完全背包
    HDU 5536 Chip Factory Trie
    HDU 5510 Bazinga KMP
    HDU 4821 String 字符串哈希
    HDU 4814 Golden Radio Base 模拟
    LA 6538 Dinner Coming Soon DP
    HDU 4781 Assignment For Princess 构造
    LA 7056 Colorful Toy Polya定理
    LA 6540 Fibonacci Tree
  • 原文地址:https://www.cnblogs.com/zl1991/p/7241072.html
Copyright © 2011-2022 走看看