是否可以使用GNU Make强制执行配方回显?

时间:2015-01-26 11:12:47

标签: makefile

根据the GNU make manual,可以通过在{和1}}的相应行前加上来抑制shell命令的回显。

使用选项@-n,可以进行干运行并打印所有这些前缀线而不实际执行它们。

是否可以同时执行make配方打印shell命令?换句话说,我是否可以对所有食谱强制回应,无论他们在开头是否有--just-print

1 个答案:

答案 0 :(得分:3)

使用GNU Make 4.0,可以选择--trace。 (我不知道支持--trace的最早版本是什么。我只知道4.0支持它。)

  

' - 追踪'

     

显示'make'执行的跟踪信息。打印整个        要执行的配方,即使是通常无声的食谱        (由于'.SILENT''@')。还会输出makefile名称和行        定义配方的编号,以及有关原因的信息        目标正在重建。

使用此Makefile

all:
    @echo foo
    echo blah

常规跑步:

$ make
foo
echo blah
blah

使用--trace

$ make --trace
Makefile:2: target 'all' does not exist
echo foo
foo
echo blah
blah
输出

echo foo,即使它以@开头。