make执行过程
make执行后的退回值
make命令执行后有三个退出码
0 - 表示成功执行
1 - 如果make运行时出现任务错误,其返回1
2 - 如果使用了make “-q”选项,并且make使得一些目标不需要更新,那么返回2
make执行过程步骤
-
依次读取变量“ MAKEFILES”定义的 makefile 文件列表
如果你的当前环境中定义了环境变量MAKEFILES,那么,make会把这个变量中的值做一个类似于include的动作。这个变量中的值是其它的Makefile,用空格分隔。只是,它和include不同的是,从这个环境变中引入的Makefile的“目标”不会起作用,如果环境变量中定义的文件发现错误,make也会不理。
但是在这里我还是建议不要使用这个环境变量,因为只要这个变量一被定义,那么当你使用make时,所有的Makefile都会受到它的影响,这绝不是你想看到的。在这里提这个事,只是为了告诉大家,也许有时候你的Makefile出现了怪事,那么你可以看看当前环境中有没有定义这个变量。
-
读取工作目录下的 makefile 文件(根据命名的查找顺序“ GNUmakefile”,“ makefile”,“ Makefile”,首先找到那个就读取那个)
-
依次读取工作目录 makefile 文件中使用指示符“ include”包含的文件
-
查找重建所有已读取的 makefile 文件的规则(如果存在一个目标是当前读取的某一个 makefile 文件,