我的部分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)为什么这样做可能不是一个好主意?
答案 0 :(得分:6)
您想要$(MAKE) --no-print-directory
。
-w, - print-directory打印当前目录。
- no-print-directory关闭-w,即使它是隐式打开的。
你不能只沉默部分命令。 @
前缀是全有或全无。
你可以回显你想要的任何东西(这就是autotools静音输出的工作原理,例如,默认make输出,然后输出GEN target.file
或其他)。