这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。

./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。
make是用来编译的,它从Makefile中读取指令,然后编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。

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

3、make insatll,这条命令来进行安装(当然有些软件需要先运行 make check 或 make test 来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)。

-----
Linux的用户可能知道,在Linux下安装一个应用程序时,一般先运行脚本configure,然后用make来编译源程序,在运行make install,最后运行make clean删除一些临时文件。使用上述三个自动工具,就可以生成configure脚本。运行configure脚本,就可以生成Makefile文件,然后就可以运行make、make install和make clean。

configure是一个shell脚本,它可以自动设定源程序以符合各种不同平台上Unix系统的特性,并且根据系统叁数及环境产生合适的Makefile文件或是C的头文件(header file),让源程序可以很方便地在这些不同的平台上被编译连接。

这时,就可运行configure脚本了,运行configure脚本,就可产生出符合GNU规范的Makefile文件了:
$ ./configure

到此时,就可以运行make进行编译,在运行make install进行安装了,最后运行make clean删除临时文件。
$ make
$ make install           (注:运行这个要有足够的权限)
$ make clean

利用configure所产生的Makefile文件有几个预设的目标可供使用,其中几个重要的简述如下:

make all:产生我们设定的目标,即此范例中的可执行文件。只打make也可以,此时会开始编译原始码,然后连结,并且产生可执行文件。

make clean:清除编译产生的可执行文件及目标文件(object file,*.o)。

make distclean:除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉。

make install:将程序安装至系统中。如果原始码编译无误,且执行结果正确,便可以把程序安装至系统预设的可执行文件存放路径。如果用bin_PROGRAMS宏的话,程序会被安装至/usr/local/bin这个目录。

make dist:将程序和相关的档案包装成一个压缩文件以供发布。执行完在目录下会产生一个以PACKAGE-VERSION.tar.gz为名称的文件。 PACKAGE和VERSION这两个变数是根据configure.in文件中AM_INIT_AUTOMAKE(PACKAGE,VERSION)的定义。在此范例中会产生test-1.0.tar.gz的档案。

make distcheck:和make dist类似,但是加入检查包装后的压缩文件是否正常。这个目标除了把程序和相关文件包装成tar.gz文件外,还会自动把这个压缩文件解开,执行 configure,并且进行make all 的动作,确认编译无误后,会显示这个tar.gz文件可供发布了。这个检查非常有用,检查过关的包,基本上可以给任何一个具备GNU开发环境-的人去重新编译。

./configure,make,make install的作用相关推荐

  1. ./configure,make,make install 的作用

    原文地址:./configure,make,make install的作用 这些都是典型的使用 GNU 的 AUTOCONF 和 AUTOMAKE 产生的程序的安装步骤. ./configure 是用 ...

  2. ./configure,make,make install的作用(转)

    这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC ...

  3. ./configure make make install详解

    在Linux中利用源码包安装软件最重要的就是要仔细阅读安装包当中的README  INSTALL两个说明文件,这两个文件会清楚的告诉你如何可以正确的完成这个软件的安装!          我们都知道源 ...

  4. 小知识:linux中的./configure --prefix和--host的作用

    一般而言,源码的安装共三个步骤:配置(configure).编译(make).安装(make install). --prefix的作用是指定安装路径,若是不进行该选项的配置,安装之后的可执行文件默认 ...

  5. linux下如何使用configure/make/make install命令编译安装卸载程序

    源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install).安装成功的源码就是所谓的可执行文件,在你不需要的时候,也是可以删除/卸载(remove/u ...

  6. configure make make install in linux

    这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. make 的安装apt-get install make ./configure是用来检测你的安装平台的目标特征的. ...

  7. linux configure 的 --prefix 参数的作用

    linux configure --prefix 的作用是:编译的时候用来指定程序存放路径 . 如下面示例: cd keepalived-1.2.18/ && ./configure ...

  8. ./configure make make install 编译安装和卸载 (Linux)

    正常的编译安装/卸载: 源码的安装一般由3个步骤组成:配置(configure).编译(make).安装(make install).   configure文件是一个可执行的脚本文件,它有很多选项, ...

  9. go get 和 go install的作用

    go get 和 go install 都是 Go 语言中用于包管理的命令,但它们的作用不太一样. go get 命令用于下载并安装指定的包及其依赖项,然后将它们放在 $GOPATH 目录下的对应位置 ...

最新文章

  1. php操作mysql的常用语句(大全)
  2. 强大自己,从学习开始!2020年最有内容的订阅号,每一个都是万里挑一!
  3. vue学习笔记(二)- 数据绑定、列表渲染、条件判断
  4. CentOS 初体验十八:grep命令使用
  5. 某互联网公司校园招聘的小组面试题
  6. GPU Gems1 - 17 环境遮挡
  7. ANSYS——命令流学习(材料属性设置、建模的命令流)
  8. 除法应用遇到的问题-类型及小数点
  9. 信访问题归并处理_最高法判例:行政机关以信访形式处理履行法定职责问题的起诉期限...
  10. python 开源框架学习
  11. 初始----python数字图像处理--:环境安装与配置
  12. jQuery再学习之二、jQuery选择器
  13. 什么是光纤?光纤的原理是什么?你能想象没有光纤通讯的世界么?
  14. 如何稳定的连接steam服务器,科技教程:怎么解决与Steam服务器连接时出现的问题...
  15. STM32 CubeMX 1ms定时中断的实现
  16. 使用KVM虚拟机安装Linux
  17. react cron表达式生成组件qnn-react-cron
  18. 无界函数的极限审敛法
  19. iPhone12基带确认,果粉放心
  20. 万户OA牵手携程 助力企业商旅一体化管控

热门文章

  1. eclipse中文乱码解决_如何解决firefly rk3399 ubuntu 系统中文乱码
  2. “速卖通”店铺3天销量破零运营技巧
  3. 全球及中国临床试验支持服务行业十四五规模发展及应用前景调研报告2022-2027年
  4. 全球与中国光电通信芯片市场数据专项调研及竞争格局分析报告2022-2028年版
  5. 全球与中国Z型斗式提升机市场运营战略分析及未来趋势创新建议报告2022-2027年版
  6. RabbitMQ 最常用的三大模式
  7. apply,call,bind区别
  8. 监控:系统构架重要的一环
  9. String,StringBuffer,StringBulider 三者的区别
  10. Bootstrap 表格