makefile的格式
目标:依赖
命令
命令
在makefile中,可以有多个目标,如果要最终输出多个目标,需要加all,不加的话最终只会输出一个目标,类似clean这种目标,属于伪目标。
生成target的流程,如果target不存在的话,那么肯定是根据后面的依赖以及命令,来生成target,这时候如果后面的依赖存在的话,还好说,直接用命令生成target即可,如果后面的依赖项缺失,比如没有main.o中间目标文件,这时候,就会先生成依赖文件(main.o),也就是会转到依赖文件作为目标的语句上,就是main.o作为target的部分,先生成依赖文件,生成依赖文件之后,最后再生成target。这就像一个递归过程。依赖文件不存在,会继续找可以生产缺失依赖文件的命令执行。
执行make指令时,是可以加目标名的,加了之后会生成指定目标,不加的话会默认生成第一个目标。