Makefile的作用与用法?
对于多文件项目,当用gcc编译时,每次编译需要输入一连串的文件名称,所以操作起来比较麻烦。
比如有四个文件a.c b.c c.c d.c ,编译时gcc a.c b.c c.c d.c -o exe
如何创建makefile文件?&makefile中的内容是什么?
此时如果我们用touch创建一个Makefile文件,并vim Makefile编辑,在其中编写如下图内容:
写法1:
写法2:
【注意】Makefile的三个组成部分 :前面是makefile的"目标"s,:后面的叫“依赖”, 红色的那句叫“命令”
如何执行写好的Makefile文件呢?
此时如果需要编译a.c b.c c.c d.c这四个文件,只需要在linux中make即可编译,用./exe执行
【注意】上面只演示了其中的a.c一个文件,对于多文件,只要创建了Makefile文件,即可通过命令:make xxx来编译。这样就可以省去每次编译都需要输入一连串源文件的麻烦。
除了直接用make执行,也可以在make后面加上目标文件,比如:
Makefile的基本工作原理?
其一,当我们执行 make xx 的时候 ,Makefile会自动执行xx这个目标下面的命令语句。
其二,当我们make xx的时候,是否执行命令是取决于依赖的。依赖如果成立就会执行命令,否则不执行。
其三,我们直接执行make 和make 第一个目标 效果是一样的。(第一个目标其实就是默认目标)
资料来源:《朱老师物联网大讲堂》视频讲解