- make和Makefile的简单理解
make就是一个命令,Makefile就是一个文件,两者之间的关系就是:make这个命令是通过Makefile这个文件去实,现的,在Makefile中,它告诉了命令make怎么去编译,怎么去链接文件。
听说只要makefile写的好,在工程中,很多很多文件的编译链接过程就只需要通过一个make命令就搞定了……
makefile基本规则
目标文件(目标文件列表):生成目标文件所需要的依赖文件……
【命令】
【命令】
………………
其中目标文件就是要生成的可执行文件。
依赖文件就是生成这个可执行文件所需要的文件。
命令就是终端上的一些命令(make所需要执行的命令)。
注意:命令之前一定是Tab键依赖关系
就是我们的目标文件多个或者一个需要后面的那堆依赖文件去生成,而且生成规则是被定义在后面的命令中的,也就是说如果当后面的依赖文件其中至少有一个比目标文件还要新,下面的命令就会执行。
听说这个make 规则是makefile中最核心的内容make的工作步骤
make命令会在当前文件下找makefile文件,然后在makefile 文件中找那个目标文件,找到目标文件后生成.o文件,最后再用这个.o文件生成可执行文件。
如果找不到目标文件,或者后面的.o依赖文件比目标文件新,那么将会执行下面的命令来生成这个目标文件。
如果找不到后面的.o文件,那么make会在当前目录找到以.o为目标文件的依赖文件,如果找到了就根据以.o为目录文件的规则来生成.o文件,再来生成现在的目标文件。
以上的前提都是H文件和C文件都存在。
感觉make是一层一层的找出依赖关系的,最后去生成目标文件,最后变为可执行文件。所以就像一条链子,只有当make在寻找的过程中,有一个找不到或者中断了发生错误了,make 就不会在执行下去,直接跳出报错。虽然找到了目标文件的依赖关系,但是只要冒号后面的文件一直往下找并且生成不了,make 就不再进行,直接报错。
以上就是对make和makefile 的基本认识理解吧……