linux下编译c源码configure,make,make install等

4 篇文章 0 订阅
1 篇文章 0 订阅

参考:
https://m14.cc/magic-behind-compiling-software/
https://my.oschina.net/surjur/blog/349464

configure, make, make install

  • ./configure表示运行当前目录下的configure文件,是一个shell脚本,用来在安装前对系统进行检查,确认系统是否具备了编译软件所需的各种条件。以C语言为例,confugure脚本会确认系统是否有编译软件所需的编译器,以及所需的各种头文件和库等。
    如,
./configure --prefix=/usr

意思是将软件安装在/usr目录下面,可执行文件就会安装在/usr/bin下(而不是默认的/usr/local/bin),而资源文件就会安装在/usr/share下(而不是默认的/usr/local/share下)。
有一些软件还可以加上--with、--enable、--without、--disable等参数对编译加以控制,可以通过./configure --help来查看详细的说明。
- make这一步就是编译。不加参数的make的作用就是从当前目录下的Makefile文件中读取指令,对源代码进行编译。
- make install这条命令用来进行安装,这一步一般需要有root权限(因为要向系统写入文件)。光编译的源码还不够,编译生成的二进制文件还和源码呆在同一个文件夹内,我们需要将它们放到具体的目录内才能正确地运行。至于放到哪个目录下也是通过makefile文件的指令来确定的。install不是make的参数,而是在makefile(Makefile)文件中有向install:这样的语句。如果用make install,那么执行install:后面的语句。
(以下来自openkeeper-cli的makefile文件)
这里写图片描述

关于makefile文件:
『makefile是用于自动编译和链接的。一个工程有很多文件组成,每一个文件的改变都会导致工程的重新链接,但不是所有文件都需要重新编译,makefile能够记录文件的信息。决定在链接的时候需要重新编译哪些文件。在类unix系统下,makefile是与make命令配合使用的。』

make与automake的关系

make 是一个工具程序,经常读取makefile文件,用于自动化构建软件;
automake是一种编程工具,可以产生供make程序使用的makefile。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值