博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
make的工作过程
阅读量:4980 次
发布时间:2019-06-12

本文共 710 字,大约阅读时间需要 2 分钟。

转载于 :  http://blog.csdn.net/Stand__out/article/details/51565394

make是怎么工作的? 

(1)make会在当前目录下找名字叫“Makefile”或“makefile”的文件。 
(2)如果找到,它会找文件中的第一个目标文件,在上面的例子中,他会找到“hello”这个文件,并把这个文件作为最终的目标文件。 
(3)如果hello文件不存在,或是hello所依赖的后面的 .o 文件的文件修改时间要比hello这个文件新,那么,他就会执行后面所定义的命令来生 
成hello这个文件,这个也就是重编译。 
(4)如果hello所依赖的.o文件也存在,那么make会在当前文件中找目标为.o文件的依赖性,如果找到则再根据那一个规则生成.o文件。(这 
有点像一个堆栈的过程) 
(5)当然,你的.c文件和.h文件是存在的啦,于是make会生成 .o 文件, 
然后再用 .o 文件声明make的终极任务,也就是执行文件hello了。 
make会一层一层去找文件的依赖关系,直到最终编译出第一个目标文件,如果过程中出现了错误(被依赖的文件找不到等),make会直接退出并报错。而对于所定义的命令的错误,或是编译不成功,make根本不理。make只管文件的依赖性,即如果在我找了依赖关系之后,冒号后面的文件还是不在,那么对不起,make就不工作啦。 
好啦,就说这么多啦,有关make和makefile的其他内容后面会继续完善的,有很多不足的地方希望小伙伴们帮忙指正。

 

转载于:https://www.cnblogs.com/tureno/articles/6217914.html

你可能感兴趣的文章
Python 文件处理
查看>>
邻接表详解
查看>>
迭代dict的value
查看>>
eclipse package,source folder,folder区别及相互转换
查看>>
Py 可能是最全面的 python 字符串拼接总结(带注释版)
查看>>
《Java程序设计实验》 软件工程18-1,3 OO实验2
查看>>
【Herding HDU - 4709 】【数学(利用叉乘计算三角形面积)】
查看>>
OPENSSL使用方法
查看>>
开发WINDOWS服务程序
查看>>
cross socket和msgpack的数据序列和还原
查看>>
解决跨操作系统平台JSON中文乱码问题
查看>>
前端利器躬行记(1)——npm
查看>>
前端利器躬行记(6)——Fiddler
查看>>
Intellij Idea新建web项目(转)
查看>>
用JAVA编写浏览器内核之实现javascript的document对象与内置方法
查看>>
centos iptables
查看>>
寻找二叉查找树中比指定值小的所有节点中最大的那个节点
查看>>
如何设置输入框达到只读效果
查看>>
RT3070 USB WIFI 在连接socket编程过程中问题总结
查看>>
MIS外汇平台荣获“2013年全球最佳STP外汇交易商”
查看>>