Make命令,提供了-n参数,用来调试makefile。当make有-n参数时,make工具只打印执行的命令,但是却不会真正的执行。
比如上面的makefile,执行make all -n
将执行的命令打印出来,但是不会真正的执行。
但是当,命令中,有+号,或者${MAKE}时,那么-n选项,就不会起作用了。Make工具,依然会去执行该命令。
一、带+号的makefile
比如makefile中,命令的前面,有+号。
此时执行make -n,发现echo命令,还是被执行。
二、带${MAKE}的makefile
比如如下makefile,在all目标中,使用make命令,去执行另外一个makefile。但是make命令,用变量MAKE进行替换。
执行make -n
发现make -f a.make all 这个命令,被执行了。