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

Nor*_*ico 4 makefile silent

我的部分makefile有以下代码:

target.o:
        cd dir; $(MAKE)
Run Code Online (Sandbox Code Playgroud)

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

make[1]: Entering directory `dir'
ifort -c target.f -o target.o
make[1]: Leaving directory `dir'
Run Code Online (Sandbox Code Playgroud)

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

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

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

Eta*_*ner 7

你想要的$(MAKE) --no-print-directory.

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

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

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

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