默认情况下,我们输入make命令,那么(当然你可以指定文件名,make -f (filename))
1.make会去当前目录下寻找叫Makefile或叫makefile的文件。
2.然后读入makefile文件里面内容,找到第一个目标的文件并把它作为最终要生成的目标,故第一个目标是默认目标。
3.以上一篇为例,如果everything(everything其时是个伪目标,实际目标是TARGET)这个目标在当前目录下不存在,或者目标所依赖的[.o]文件比目标文件新,那么就会执行后面的命令来生成目标文件。
4.然后再寻找当前目录[.o]文件是否存在,并自行推导[.o]文件的依赖性,来生成[.o]文件。
5.然后[.c]和[.h]文件是存在的,就会生成[.o]文件,接着生成目标文件了。
make的寻找依赖性的过程有点像递归的过程,如果最终某个文件的依赖性没有找到,那么就会报错,并停止执行。或者由于命令执行出错而停止执行。