configure,make和make install关系

linux编译安装中configure、make和make install各自的做用linux

./configure是用来检测你的安装平台的目标特征的。configure根据给定的参数和系统环境会生成Makefile控制代码。
make是用来编译的,读取Makefile中的配置对源码进行编译。
make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。
AUTOMAKE和AUTOCONF是很是有用的用来发布C程序的东西。

一、configurebash

通常用来生成 Makefile,为下一步的编译作准备。

你能够经过在 configure 后加上参数来对安装进行控制,好比代码:

./configure --prefix=/usr
将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。
同时一些软件的配置文件你能够经过指定 --sys-config= 参数进行设定。有一些软件还能够加上 --with、--enable、--without、--disable 等等参数对编译加以控制,你能够经过容许 ./configure --help 察看详细的说明帮助。

[不一样软件的编译 configure 参数不一样,请使用该命令查阅]测试

./configure --help
  • --with-PACKAGEwith表示,是否须要添加某个功能,每每须要指定依赖的外部库在哪里,该软件包若已经安装能够指向该包安装目录;
  • -enable-FEATURE enable表示某个功能是否开启[yes/no],且这种功能每每是内置的.

二、makespa

make 的做用是开始进行源代码编译,
以及一些功能的提供,这些功能由他的 Makefile 设置文件提供相关的功能,好比 make install 通常表示进行安装,make uninstall 是卸载,不加参数就是默认的进行源代码编译。
若是 在 make 过程当中出现 error ,你就要记下错误代码(注意不单单是最后一行)。
make 是 Linux 开发套件里面自动化编译的一个控制程序,他经过借助 Makefile 里面编写的编译规范进行自动化的调用 gccld 以及运行某些须要的程序进行编译的程序。
通常状况下,他所使用的 Makefile ,由 configure 这个设置脚本根据给定的参数和系统环境生成。

三、make installcode

 安装(固然有些软件须要先运行 make check 或 make test来进行一些测试),这一步通常须要你有 root 权限(sudo make install)
将上一个步骤所编译完成的数据给他安装到预约的目录中,玩陈二狗安装

四、其它命令blog

make all:
产生咱们设定的目标,即此范例中的可执行文件。只打make也能够,此时会开始编译原始码,而后连结,而且产生可执行文件。资源

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

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

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

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开发环境-的人去从新编译。

相关文章
相关标签/搜索