zoukankan      html  css  js  c++  java
  • automake使用

    下面内容有大部分参考别人的,有小部分有变动:

     多余的话不多说,结合一个简单的例子学习automake的用法。首先创建目录hello然后进入目录:

    mkdir hello

    cd hello

    接下来用自己喜欢的编辑器写一个hello.c文件

    #include<stdio.h>

    int main()

    {

       printf("hello world! ");

       return 0;

    }

    现在在hello目录下应该有一个自己写的hello.c了,下来生成configure,这里使用autoscan命令来根据目录下的源代码生成一个configure.in的模板文件:

    autoscan

    将会产生一个文件:configure.scan,可以拿他作为configure.in的蓝本,现在将configure.scan改名为configure.in,并编辑它,按如下内容修改,去掉无关语句:

    [root@cent634 automake_test]# cat configure.in
    #                                               -*- Autoconf -*-
    # Process this file with autoconf to produce a configure script.
    
    AC_PREREQ([2.63])
    AC_INIT(hello, 1.1.0, "xxx@xxx.cn")
    #必填项否则会报错
    AM_INIT_AUTOMAKE(hello,
    1.1.0) AC_CONFIG_SRCDIR([hello.c]) # 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_OUTPUT(Makefile)

    然后执行aclocal和autoconf分别产生aclocal.m4和configure两个文件:

    aclocal

    autoconf

    可以看到configure.in的内容是一些宏定义,这些宏经autoconf处理后会变成检查系统特性、环境变量、软件必须的shell脚本。autoconf是用来生成自动配置软件源代码脚本的工具。要生成configure文件,必须告诉autoconf如何找到所用的宏。方式是使用aclocal程序来生成你的aclocal.m4。下面建立一个Makefile.am文件:

    vim Makefile.am

    文件内容为:

    AUTOMAKE_OPTIONS=foreign

    bin_PROGRAMS=hello

    hello_SOURCES=hello.c

    automake会根据所写的Makefile.am来自从生成Makefile.in。下一步将运行automake,命令如下:

    automake --add-missing

    automake会根据Makefile.am文件产生一些文件,包含最重要的Makefile.in。执行configure生成Makefile,命令如下:

    ./configure

    此时Makefile已经产生了,现在就可以使用Makefile编译代码了,命令为:

    make

    运行hello:

    ./hello

    这样hello就编译出来了。

  • 相关阅读:
    springMVC-MyBatis-Mysql 环境下, 返回时间格式不是指定格式
    大话设计模式--第一章 简单工厂设计模式
    java编程思想第四版第十八章总结
    尚学堂-马士兵-专题-正则表达式
    张孝祥java高新技术 --- jkd1.5 新特性 -- 精华总结
    Python—文件进阶操作
    Python—文件读写操作
    Python—异常处理
    Python—网络抓包与解包(pcap、dpkt)
    Python—其它模块
  • 原文地址:https://www.cnblogs.com/kuang17/p/7715843.html
Copyright © 2011-2022 走看看