
0 Preface/Foreword在makefile中默认情况下make在执行每条命令之前都会先将该命令打印到标准输出命令回显。1 关闭命令回显方法1.1 默认打开命令回显CC ? g override MODE debug var_print: echo compiler: $(CC) echo mode: $(MODE) make -f sub_test.mk1.2 手动关闭回显 ()手动关闭回显方法在命令前面添加符号。CC ? g override MODE debug var_print: echo compiler: $(CC) echo mode: $(MODE) make -f sub_test.mk1.3 通过hide封装 (Android构建系统)在一些大型项目比如Android源码编译的makefile中通常会定义一个hide变量来统一控制回显。CC ? g MODE debug hide : var_print: $(hide) echo compiler: $(CC) $(hide) echo mode: $(MODE) $(hide) make -f sub_test.mk1.4 make -s或make --silent-s或--silent会全局禁止所有命令的回显这会抑制所有规则中命令的打印包括make读入下一层级的makefile文件路径的提醒。CC ? g MODE debug hide : var_print: $(hide) echo compiler: $(CC) $(hide) echo mode: $(MODE) $(hide) make -f sub_test.mk