文档章节

make clean与make distclean的区别

ustbgaofan
 ustbgaofan
发布于 2014/07/30 16:22
字数 525
阅读 85
收藏 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
粉丝 13
博文 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
移植命令和库到海思相关芯片

编译fw_printenv工具: make ARCH=arm CROSSCOMPILE=arm-hisiv300-linux- hi3521aconfig make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- make ARCH=arm CROSS_COMPILE=arm-hisiv300-linu......

baiweibi
2017/12/24
0
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基本安装方法

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

范堡
2009/05/24
43
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

没有更多内容

加载失败,请刷新页面

加载更多

面向对象类之间的关系

面向对象类之间的关系:is-a、has-a、use-a is-a关系也叫继承或泛化,比如大雁和鸟类之间的关系就是继承。 has-a关系称为关联关系,例如企鹅在气候寒冷的地方生活,“企鹅”和“气候”就是关...

gackey
45分钟前
1
0
读书(附电子书)|小狗钱钱之白色的拉布拉多

关注公众号,在公众号中回复“小狗钱钱”可免费获得电子书。 一、背景 之前写了一篇文章 《小狗钱钱》 理财小白应该读的一本书,那时候我才看那本书,现在看了一大半了,发现这本书确实不错,...

tiankonguse
今天
1
0
Permissions 0777 for ‘***’ are too open

异常显示: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ......

李玉长
今天
3
0
区块链10年了,还未落地,它失败了吗?

导读 几乎每个人,甚至是对通证持怀疑态度的人,都对区块链的技术有积极的看法,因为它有可能改变世界。然而,区块链技术问世已经10年了,我们仍然没有真正的用上区块链技术。 几乎每个人,甚...

问题终结者
今天
2
0
20180921 su与sudo命令、限制root用户通过ssh远程登录

su 命令 用户切换。 su # 切换到root用户su username # 切换到username用户# su 后面加-时,会初始化当前用户的各种环境su - username # 指定用户执行某些命令 su - -c "touch /tm...

野雪球
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部