文档章节

make clean与make distclean的区别

ustbgaofan
 ustbgaofan
发布于 2014/07/30 16:22
字数 525
阅读 92
收藏 8

make clean仅仅是清除之前编译的可执行文件及配置文件。 
而make distclean要清除所有生成的文件。

Makefile

在符合GNU Makefiel惯例的Makefile中,包含了一些基本的预先定义的操作:

make

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

make clean

清除上次的make命令所产生的object文件(后缀为“.o”的文件)及可执行文件。

make install

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

make dist

产生发布软件包文件(即distribution package)。这个命令将会将可执行文件及相关文件打包成一个tar.gz压缩的文件用来作为发布软件的软件包。

它会在当前目录下生成一个名字类似“PACKAGE-VERSION.tar.gz”的文件。PACKAGE和VERSION,是我们在configure.in中定义的AM_INIT_AUTOMAKE(PACKAGE, VERSION)。

make distcheck

生成发布软件包并对其进行测试检查,以确定发布包的正确性。这个操作将自动把压缩包文件解开,然后执行configure命令,并且执行make,来确认编译不出现错误,最后提示你软件包已经准备好,可以发布了。

make distclean类似make clean,但同时也将configure生成的文件全部删除掉,包括Makefile。


--------------------------------------------------------------------------------------------------

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

最常见的几个目标:

make all:编译程序、库、文档等(等同于make)

make install:安装已经编译好的程序。复制文件树中到文件到指定的位置

make unistall:卸载已经安装的程序。

make clean:删除由make命令产生的文件

make distclean:删除由./configure产生的文件

make check:测试刚刚编译的软件(某些程序可能不支持)

make installcheck:检查安装的库和程序(某些程序可能不支持)

make dist:重新打包成packname-version.tar.gz


本文转载自:http://www.cnblogs.com/hnrainll/archive/2011/06/08/2075052.html

共有 人打赏支持
ustbgaofan
粉丝 14
博文 148
码字总数 38017
作品 0
海淀
程序员
私信 提问
make clean、make mrproer 以及make distclean的区别

make clean、make mrproer 以及make distclean的区别 解压内核源码包后, 到内核源代码目录树的顶层目录, 执行 #make help Cleaning targets: clean - Remove most generated files but kee...

长平狐
2013/06/03
79
0
redis3.2安装过程分享

转载自我要求索网 redis3.2安装过程分享 去 redis官网 下载对应的版本。下载地址:https://redis.io/download centos安装redis 下载redis-3.2.5.tar.gz 解压文件并进入解压后的目录 [root@lo...

求索路
2016/12/27
55
0
给centos6.4的python升级

由于下载了一个apache-cassandra-2.2.4,运行cqlsh的时候提示只支持2.7的,而默认是2.66的,于是准备升级: wget --no-check-certificate https://www.python.org/ftp/python/2.7.8/Python-2....

xiaohan815
2016/01/04
33
0
Linux系统下Tar文件安装方法

1、将安装文件拷贝至你的目录中,如果是以root身份登录上的,就将软件拷贝至/root中。 #cp xxx.tar.gz /root 2、解压缩。 #tar xvzf xxx.tar.gz 或直接双击解压缩. 3、检查编译。 #./configu...

Bony
2016/06/13
7
0
新手看招:Linux系统下Tar基本安装方法

cp xxx.tar.gz /root 2、解压缩。 tar xvzf xxx.tar.gz 或直接双击解压缩. 3、检查编译。 ./configure 4、检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译。 make。 5、成...

范堡
2009/05/24
43
0

没有更多内容

加载失败,请刷新页面

加载更多

linux中常用标识---不定期更新

LINUX常用标识符: 1 & && | || &: 表示进程在后台运行 例如 redis-server & 不是所有后台运行都是& 比如es ./bin/elasticsearch -d es后台运行&&: 第一个命令执行成功后 才执行后面的命令...

geek土拨鼠
31分钟前
1
0
Mybatis 中$与#的区别,预防SQL注入

一直没注意Mybatis 中$与#的区别,当然也是更习惯使用#,没想到避免了SQL注入,但是由于要处理项目中安全渗透的问题,不可避免的又遇到了这个问题,特此记录一下。 首先是共同点: 在mybatis...

大雁南飞了
47分钟前
0
0
Cydia的基石:MobileSubstrate

在MAC与IOS平台上,动态库的后缀一般是dylid,而加载这些动态库的程序叫做dynamic linker(dyld)。这个程序有很多的环境变量来设置程序的一些行为,最为常用的一个环境变量叫做"DYLD_INSERT_...

HeroHY
49分钟前
1
0
Spring Clould负载均衡重要组件:Ribbon中重要类的用法

Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合。通过Ribbon,程序员能在不涉及到具体实现细节的基础上“透明”地用到负载均衡,而不必在项目里过多地编写实现...

Ala6
58分钟前
0
0
让 linux 删除能够进入回收站

可以参考这个贴子 https://blog.csdn.net/F8qG7f9YD02Pe/article/details/79543316 从那个git地址 把saferm.sh下载下来 把saferm.sh复制到 /usr/bin 目录下 在用~/目下 的.bashrc 下加一句这...

shzwork
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部