make clean,make distclean与make depend的区别

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 depend

一种makefile的规则,通过扫描仪个目录下的所有C\C++ 代码,从而判断出文件之间的依赖关系,如a.cc文件中调用了b.h(如以形势include<b.h>),如果之后a.cc文件被改动,那么只需要重新编译a.cc文件,不需要编译b.h文件。否则所有的文件都需要重新编译

make是如何工作的

在默认的方式下,也就是我们只输入make命令。那么,

1、make会在当前目录下找名字叫“Makefile”或“makefile”的文件。
2、如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“edit”这个文件,并把这个文件作为最终的目标文件。
3、如果edit文件不存在,或是edit所依赖的后面的 .o 文件的文件修改时间要比edit这个文件新,那么,他就会执行后面所定义的命令来生成edit这个文件。
4、如果edit所依赖的.o文件也存在,那么make会在当前文件中找目标为.o文件的依赖性,如果找到则再根据那一个规则生成.o文件。(这有点像一个堆栈的过程)
5、当然,你的C文件和H文件是存在的啦,于是make会生成 .o 文件,然后再用 .o 文件生命make的终极任务,也就是执行文件edit了。

时间: 2024-10-13 16:21:41

make clean,make distclean与make depend的区别的相关文章

U-Boot移植之前期分析(上)

老是看别人移植uboot,用别人移植好的uboot,今天终于下定决心自己移植一个uboot来玩玩,好歹我也是个软件开发人员啊. 第一步:去ftp://ftp.denx.de/pub/u-boot/网站下载个uboot工程源码,为了防止环境出问题,我决定用个老一点的,于是就下了:u-boot-1.1.6.tar.bz2. 第二步:解压源码:tar  jxvf  u-boot-1.1.6.tar.bz2. 第三步:建立source insight工程 好了完成以上三步之后,我们需要的前提条件都准备好

MIT OS lab Makefile 分析

lab1 中的Makefile主要是根目录下的GNUMakefile, kern/Makefrag, boot/Makefrag, 后两者通过include直接包含到GNUMakefile中. 1 # 2 # This makefile system follows the structuring conventions 3 # recommended by Peter Miller in his excellent paper: 4 # 5 # Recursive Make Considere

Uboot makefile 解读

# # (C) Copyright 2000-2012 # Wolfgang Denk, DENX Software Engineering, [email protected] # # See file CREDITS for list of people who contributed to this # project. # # This program is free software; you can redistribute it and/or # modify it under t

u-boot的Makefile分析

由顶层Makefile文件,梳理U-Boot的编译流程. 小技巧: 在大型Makefile中,很多时候需要确定某个变量的值,一个小方法就是: $(shell echo "VARIABLE0_VAL = $(VARIABLE0_VAL)" > v_file.txt ) $(shell echo "VARIABLE1_VAL = $(VARIABLE1_VAL)" >> v_file.txt ) 1.首先,确定make过程中需要的变量(Makefile

U-boot主Makefile详尽分析

U-boot主Makefile详尽分析 主Makefile位于uboot源码的根目录下,其内容主要结构为: 1. 确定版本号及主机信息(23至48行) 2. 实现静默编译功能(48至55行) 3. 设置各种路径(56至123行) 4. 设置编译工具链(124至186行,大部分在config.mk内) 5. 设置规则(187至470行) 6. 设置与cpu相关的伪目标(480至末尾) 需要注意的是,结构顺序不代表代码执行顺序,关于代码的执行顺序以及推荐阅读顺序请移步[ U-boot配置及编译阶段流

2010.03 u-boot--Makefile完全分析

## (C) Copyright 2000-2009# Wolfgang Denk, DENX Software Engineering, [email protected]## See file CREDITS for list of people who contributed to this# project.## This program is free software; you can redistribute it and/or# modify it under the terms

linux下apache安装ssl步骤

制作证书: 参考:linux下运用opensll制作ssl证书 生成三个证书 server.crt .server-ca.crt.server.key 安装openssl tar -xzvf openssl-1.0.2h.tar.gzcd openssl-1.0.2h./config -fPIC enable-sharedmake dependmake && make installmake clean && make distclean #openssl类库做软连接ln

scrapy 安装

#python版本至少2.7以上 #python  -V Python 2.6.6 #wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 #tar -jxvf Python-2.7.3.tar.bz2 #cd Python-2.7.3 #./configure #make all #make install #make clean #make distclean #/usr/local/bin/python2.7 -V 建立软

centos django安装过程

1.下载Python-2.7.3[plain] view plain copy#wget http://python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2 2.解压[plain] view plain copy#tar -jxvf Python-2.7.3.tar.bz2 3.更改工作目录[plain] view plain copy#cd Python-2.7.3 4.安装[plain] view plain copy#./configure #编