linux自由软件安装 ./config, make的理解 -- ongoing

 

在linux系统中安装软件的其中一种:源码安装的方法是,先输入./configure,然后输入make,最后make install。或许有人留意到没有,这些软件的根目录中开始是没有Makefile的,在执行了./configure后会生成了很多奇怪名字的文件.

 

configure是一个脚本,它能设置源程序来适应各种不同的操作系统平台,并且根据不同的系统来产生相应的makefile文件,Makefile 规定了用什么编译器、编译参数等信息。从而可以使你的源代码能在不同的操作系统平台上被编译出来。比如它会检测你是不是有CC或GCC。

可以通过在 configure 后加上参数来对安装进行控制,比如代码:

./configure --prefix=/usr

上面的意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share.

如果你安装时候指定的路径为:
--prefix=/usr/local/XXX,那么卸载的时候只需要把XXX这个文件夹删除即可!!!!!,因为该软件安装的所有文件都是放置在XXX这个文件夹。但如果你进行源码包安装的时候没有指定位置(默认值一般为/usr/local/),或指定的位置为--prefix=/usr/local,则这时候你安装软件生成的文件将分别存储在/usr/local/里面的bin、lib或ect等目录中,这时候卸载起来就相对麻烦一点了。

可以通过 ./configure --help 察看详细的各个参数的说明。

 

make是用来编译的,它从Makefile中读取指令,然后编译。make 是 Linux 开发套件里面自动化编译的一个控制程序,他通过借助 Makefile 里面编写的编译规范进行自动化的调用 gcc 、ld 以及运行某些需要的程序。

如果 在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码。

 

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



当我们在使用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

 

 

 

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

 

 

 

 

 

 

 

 

Ref:

https://blog.csdn.net/lltaoyy/article/details/7615833

https://www.sohu.com/a/191735643_505857

https://blog.csdn.net/a746742897/article/details/52311044

 

 

 

转载于:https://www.cnblogs.com/butterflybay/p/10347917.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值