Linux下configure&make&make install&make uninstall介绍

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。


1.configure:检查环境,配置编译条件
  它是一个可执行脚本,有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。
  一般用来生成 Makefile,为下一步的编译做准备.
  1) ./configure --prefix 
   它的作用是配置安装路径,如:./configure --prefix=/usr
   意思是将该软件安装在/usr下面,执行文件就会安装在/usr/bin,资源文件就会安装在/usr/share
   --prefix选项还有一个好处:卸载的时候,直接删除一个文件夹(安装目录)即可。
   移植软件也只需拷贝整个目录到另外一个机器即可(相同的操作系统)。
   
  2) ./configure 
   不配置--prefix选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,
   配置文件默认放在/usr/local/etc,其它的资源文件放在/usr/local/share
  
2.make:它从Makefile中读取指令,然后编译
  大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译).
  如果在make过程中出现error,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交,bugreport(一般install里有提交地址)
  或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。


3.make install:用来安装,从Makefile中读取指令,安装到指定的位置
  安装的时候需要root权限,当然有些软件需要先运行 make check或make test来进行一些测试.


4.make uninstall: 卸载程序
  在原来的make目录下用一次make uninstall,但前提是makefile文件指定过uninstall,如果makefile没有uninstall,则需要手动删除.




补充:
当我们在使用make命令时,常常会在make后面加上其他单词,比如check,install,installcheck…这些单词都是make的参数,我们称之为“目标(targets)”。


最常见的几个目标:
make all:编译程序、库、文档等(等同于make)
make install:安装已经编译好的程序。复制文件树中到文件到指定的位置
make unistall:卸载已经安装的程序。
make clean:删除由make命令产生的文件
make distclean:同时删除./configure和make产生的临时文件
make check:测试刚刚编译的软件(某些程序可能不支持)
make installcheck:检查安装的库和程序(某些程序可能不支持)
make dist:重新打包成packname-version.tar.gz

你可能感兴趣的:(Linux,Linux,Unix)