Makefile:具体地使“make [N]:”行静音

时间:2014-12-05 14:59:12

标签: makefile silent

我的部分makefile包含以下代码:

target.o:
        cd dir; $(MAKE)

文件target.o在目录dir中有自己的makefile。在编译期间,我得到以下输出行:

make[1]: Entering directory `dir'
ifort -c target.f -o target.o
make[1]: Leaving directory `dir'

我想沉默第一和第三输出线,但保留第二。在主makefile中将-s添加到make中会消除第一个和第三个,也会删除我要保留的那个。

(1)有办法做到这一点吗?

(2)为什么这样做可能不是一个好主意?

1 个答案:

答案 0 :(得分:6)

您想要$(MAKE) --no-print-directory

  

-w, - print-directory打印当前目录。

     

- no-print-directory关闭-w,即使它是隐式打开的。

你不能只沉默部分命令。 @前缀是全有或全无。

你可以回显你想要的任何东西(这就是autotools静音输出的工作原理,例如,默认make输出,然后输出GEN target.file或其他)。