configure make make clean make install区别联系

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

make 是用来编译的,它从Makefile中读取指令,然后编译。这一步就是编译,大多数的源代码包都经过这一步进行编译(当然有些perl或python编写的软件需要调用perl或python来进行编译)

makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作

makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令

根据Makefile文件编译源代码、连接、生成目标文件、可执行文件。

可能遇到的错误:make *** 没有指明目标并且找不到 makefile。问题很明了,没有Makefile,怎么办,原来是要先./configure 一下,再make。

3.make clean

仅仅是清除之前编译的可执行文件及配置文件(清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件)

注意:

在make的时候,会重新生成objects, 也就说新的object覆盖就得objects

make clean 是删除旧的objects。

所以应该是make已经含有了make clean的功能。

但是实际用的时候,比如多次编译调试运行, 有时候必须make clean一下,直接make,上次留下来的错误似乎不能清干净。

4.make install

make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。

将编译成功的可执行文件安装到系统目录中,一般为/usr/local/bin目录。

、扩展说明

  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删除临时文件。

原文地址:https://www.cnblogs.com/po1234/p/9516290.html

时间: 2024-10-18 16:39:52

configure make make clean make install区别联系的相关文章

IntelliJ IDEA教程之如何clean或者install Maven项目

一.前言 Eclipse中如果我们想clean或者install工程,我们只需要右键工程,然后找到run->Maven install 或者run->Maven clean就可以了,但是IDEA中我们要怎么去操作呢? 二.步骤 ♦这里我们介绍两种方式,如何调试出窗口 点击菜单栏View->Tool  Windows->Maven projects点击菜单栏Help->Find Action(Ctrl+Shift+A),输入Maven projects♦然后会出现以下界面 ♦如

Configure,make,make install详解

转:http://my.oschina.net/qihh/blog/66113?fromerr=6ej3CfGJ 无论对于一个初学者还是一个资深的Linux程序员,编写Makefile文件都是一件很麻烦的事:再者,开发人员应该把主要的精力放在程序代码的编写上,而在Makefile文件花费太多的精力显然是不明智的:还有,对于不同的处理器架构,往往编译器不同,环境不同,特别是一些嵌入式系统中的各种程序的编译,于是移植问题也使Makefile文件编写趋于复杂,也显得这个问题很重要.对于这些问题Linu

Linux随笔之——./configure、make、make install(转)

原文连接:http://www.linuxidc.com/Linux/2011-02/32211.htm 这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本.make是用来编译的,它从Makefile中读取指令,然后编译.make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. AUTOMAK

Linux 命令详解(三)./configure、make、make install 命令

这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤 一.基本信息 1../configure 是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本. 2.make 是用来编译的,它从Makefile中读取指令,然后编译. 3.make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. 注意:AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西. 二.详细解释

apt-get指令的autoclean,clean,autoremove的区别

apt-get使用各用于处理apt包的公用程序集,我们可以用它来在线安装.卸载和升级软件包等,下面列出一些apt-get包含的常用的一些工具: 工具 说明 install 其后加上软件包名,用于安装一个软件包 update 从软件源镜像服务器上下载/更新用于更新本地软件源的软件包列表 upgrade 升级本地可更新的全部软件包,但存在依赖问题时将不会升级,通常会在更新之前执行一次update dist-upgrade 解决依赖关系并升级(存在一定危险性) remove 移除已安装的软件包,包括与

maven之clean、install命令

1.进入到maven根目录,执行mvn compile命令会在根目录生成target文件(参照maven之helloworld案例),如下图: 2.执行mvn clean可将根目录下生成的target文件移除 3.mvn install命令 首先同maven之helloworld案例一样,新建maven2项目 Speak.java代码 package com.maven; import com.maven.HelloWorld; public class Speak{ public String

Linux编译安装中configure、make和make install各自的作用

这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本. make是用来编译的,它从Makefile中读取指令,然后编译. make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置. AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西. 1.configure 这一步一般用来生成 M

【Maven】Eclipse中Maven项目Maven build、build...、clean、install、test的含义

一.如下图大家知道各项的含义吗? 二.下面一一介绍 Maven clean  将以前编译得到的旧的 class 字节码文件删除,即删除target文件夹下的内容 [INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ ysx --- [INFO] Deleting /Users/haidiyixiaoyu/eclipse-workspace/ysx/target [INFO] ------------------------------

[allmake] -- 交叉编译原来如此简单

原创文章,转载请注明出处:http://www.cnblogs.com/johnd/p/5060530.html 前言: 做嵌入式开发的攻城狮朋友们,也许你要做个应用,也许你要做驱动,也许你要移植第三方库或应用,交叉编译是少不了的如.如果你是菜鸟,从不会写makefile,正好这里介绍一款开发工具,解决你头疼的问题:如果你是大咖,它也是你的得力助手,让你专注你要做的业务,不必去写冗长的makefile,它就是 allmake. allmake是一跨平台的开发工具,它建立在make之上,非常容易使