Linux安装AUTOCONF和AUTOMAKE产生的程序的一般步骤

概述:
在Linux下安装一个应用程序时,
一般先运行脚本configure,
然后用make来编译源程序,
在运行make install,
最后运行make clean删除一些临时文件。

相关点的详解:
使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤即如上所示,AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。
./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本;
make是用来编译的,它从Makefile中读取指令,然后编译;
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

1、configure
configure是一个shell脚本,用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC。
它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并且根据系统叁数及环境产生合适的Makefile文件或是C的头文件(header file),让源程序可以很方便地在这些不同的平台上被编译连接。这样,运行configure脚本,就可产生出符合GNU规范的Makefile文件了;
这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。

2、make
make是用来编译的,它从Makefile中读取指令,然后编译;
大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)。
如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

3、make insatll
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。

利用configure所产生的Makefile文件有几个预设的目标可供使用,其中几个重要的简述如下:
make all:产生我们设定的目标,即此范例中的可执行文件。只打make也可以,此时会开始编译原始码,然后连结,并且产生可执行文件;
make clean:清除编译产生的可执行文件及目标文件(object file,*.o);
make distclean:除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉;
make install:将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。如果用bin_PROGRAMS宏的话,程序会被安装至/usr/local/bin这个目录。

时间: 2024-10-29 00:21:56

Linux安装AUTOCONF和AUTOMAKE产生的程序的一般步骤的相关文章

Linux安装GBK/GB2312程序显示乱码的五种解决方法

  不少用户在Linux系统中安装GBK或GB2312的时候遇到了乱码问题,这主要是系统默认语言是uft8所导致,对于该问题可用五种方法进行解决,下面小编就给大家介绍下Linux安装GBK或GB2312程序显示乱码的解决方法. 解决方法: 找到etc/httpd/conf/ 目录中的httpd.conf 1.解决方法一 查找"AddDefaultCharset UTF-8",将"UTF-8"改为"GB2312" 2.解决方案二 查找"A

《嵌入式 Linux应用程序开发标准教程(第2版)》——1.2 Linux安装

1.2 Linux安装 有了一个初步的了解后,读者是否想亲自试一下?其实安装Linux是一件很容易的事情,不过在开始安装之前,还需要了解一下在Linux安装过程中可能遇到的一些基本知识以及它与Windows的区别. 1.2.1 基础概念 1.文件系统.分区和挂载 文件系统是指操作系统中与管理文件有关的软件和数据.Linux的文件系统和Windows中的文件系统有很大的区别,Windows文件系统是以驱动器的盘符为基础的,而且每一个目录与相应的分区对应,例如"E:\workplace"是

XP下引导LINUX安装程序心得

  XP下引导LINUX安装程序详解   本来早就想写,但由于打游戏的时间实在是抽不出来,最近有时间了,把它写出来供大家分享. AAAAA需要的东东: 1.LINUX安装文件(ISO的),把这个ISO中的isolinux(文件夹)解压出来,放在同一个盘下面. 2.WINGRUB百度搜一下就可以下载 3.当然你的系统要是XP或是2003,2000也行(但没有实践过). 我们以XP为例,03操作一样. BBBBB具体操作和注释:     1.先在XP下空出来两个盘,一个用来存储LINUX安装文件(I

Makefile生成工具和方法(autoconf 和 automake)

无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make install.利用make工具,我们可以将大型的开发项目分解成为多个更易于管理的模块,对于一个包括几百个源文件的应用程序,使用make和 makefile工具就可以轻而易举的理顺各个源文件之间纷繁复杂的相互关系. 但是如果通过查阅make的帮助文档来手工编写Makefile,对任何程序员都是一场挑战.幸而有GNU 提供的Autoconf及Au

例解 autoconf 和 automake 生成 Makefile 文件

本文介绍了在 linux 系统中,通过 Gnu autoconf 和 automake 生成 Makefile 的方法.主要探讨了生成 Makefile 的来龙去脉及其机理,接着详细介绍了配置 Configure.in 的方法及其规则. 2 评论: 杨 小华, Linux 内核开发工程师, 自由撰稿人 2006 年 9 月 21 日 内容 引子 无论是在Linux还是在Unix环境中,make都是一个非常重要的编译命令.不管是自己进行项目开发还是安装应用软件,我们都经常要用到make或 make

Linux下Makefile的automake生成全攻略_unix linux

文/余涛 作为Linux下的程序开发人员,大家一定都遇到过Makefile,用make命令来编译自己写的程序确实是很方便.一般情况下,大家都是手工写一个简单Makefile,如果要想写出一个符合自由软件惯例的Makefile就不那么容易了. 在本文中,将给大家介绍如何使用autoconf和automake两个工具来帮助我们自动地生成符合自由软件惯例的Makefile,这样就可以象常见的GNU程序一样,只要使用"./configure","make","ma

如何在64位版本Linux上开发运行32位应用程序

最近换了Linux系统,由i686换成了x86-64,导致在进行开发的时候出用不了原来SDK中32位的开发工具.于是,博主找到如下文章,博主亲测实用: 如何在64位版本Linux上开发运行32位应用程序  内容如下: 很多程序员(特别是别的公司的)跟我抱怨说他们32位软件无法在我们的64位Linux系统上正常运行,而在他们32位机上正常,其实这个很好解决,一般 是64位系统安装后没有默认安装glibc的32位版本,通过简单的执行以下命令即可实现在64位Linux系统上开发运行32位应用程序,而不

Centos/linux安装vmware-tools工具报错解决、yum配置

1.vmware tools"就等于装虚拟机的显卡驱动,如果不装"vmware tools",则虚拟机的分辨率会很低且无法正常显示或工作. 2.tools可是将主机的驱动都复制到虚拟机,比如你设置的默认使用主机声卡驱动,cpu,显卡,都有,主机我的电脑-右键-设备管理器,里面的驱动都可以安装到虚拟机里 3.还有就是可是设置虚拟机与主机共享文件夹,host\打头的      linux vmware-tools 主要作用说白了就是:实现linux到XP界面 鼠标的自由切换(不用

linux安装 apache configure之后无法make

问题描述 linux安装 apache configure之后无法make 求问,今天装APACHE,装完在浏览器有初始页,我查看/usr/local/apache2文件夹里发现没有conf文件夹,就用yum erase httpd准备卸载掉,它提示我删除两个包,还有一个oog什么的,我就确定输入了y,再然后,我再解压,再configure,就生不成make 和makeinstall 文件了..我是不多删了个oog什么的程序啊... 解决方案 你要看一下configure的错误提示,应该是有依赖