zoukankan      html  css  js  c++  java
  • 利用autotools工具制作从源代码安装的软件 分类: linux 2014-06-02 23:27 340人阅读 评论(0) 收藏

    编写程序(helloworld.c)并将其放到一个单独目录.

    helloworld.c:

    #include<stdio.h>
    int main()
    {
     printf("hello world!
    ");
     return 0;
    }

    进入该目录,依次执行以下9步:

    1.新建Makefile.am,编辑内容为:
    bin_PROGRAMS=helloworld
    helloworld_SOURCES=helloworld.c
    这两行分别表明最终生成的二进制文件名称和组成该二进制文件的程序文件名
    2.执行autoscan,生成configure.scan
    3.改名configure.scan为configure.ac
    4.修改文件configure.ac
    (1)第 5 行,AC INIT 宏用来定义软件的名称、版本和错误报告地址
    本例可改成:AC_INIT([helloworld],[1.0],[luo187@qq.com])
    (2)在AC_INIT与AC_OUTPUT之间添加一行(如在AC_INIT的下一行)
    AM_INIT_AUTOMAKE
    表明Makefile.in要使用 automake 产生
    其他的一些宏是标准的侦测过程,可以保留不动
    5.执行aclocal,生成aclocal.m4
    6.执行autoconf,生成configure
    7.执行touch README AUTHORS NEWS ChangeLog生成一些辅助文件(空文件即可)
    8.执行autoheader,生成config.h
    9.执行automake -a,根据 Makefile.am 产生一些文件,
    包含最重要的 Makefile.in(-a选项会生成一些缺少的标准文件)

    经过上述9步操作我们已经将准备工作做完,一个完整的安装包已经完成。

    下面就可以进行Linux下源代码安装软件的三个经典步骤了:
    ./congigure
    make
    make install

    这样二进制文件默认安装在/usr/local/bin中,
    此时可以进入任意目录测试我们的helloworld命令。
    你还可以试着使用一些其 他的 make 命令,
    如 make clean ,make uninstall ,make dist ,看看它们会给你什么样的效果。



    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    android webview cookie同步
    session和cookie
    对称加密与非对称加密
    理解java回调机制
    android studio命令
    android studio友盟gradle多渠道打包
    [c++] final override keyword
    [C++] Returning values by reference in C++
    [c++] polymorphism without virtual function
    [C++] NEW Advanced Usage
  • 原文地址:https://www.cnblogs.com/luo-peng/p/4646254.html
Copyright © 2011-2022 走看看