2014-12-05 31 views
1

部分我的makefile有以下代码:的Makefile:沉默 “使[N]:” 行专门

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)有没有理由这样做可能不是一个好主意?

+2

'$(MAKE)--no-print-directory'? – 2014-12-05 15:05:27

+0

谢谢你,工作。另外:有没有办法让'cd dir中的两个命令之一沉默? $(MAKE)--no-print-directory'?或者用两条线将它们分开,但继续在同一个shell中工作? – Nordico 2014-12-05 15:11:19

回答

2

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

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

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

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

你可以回显你想要的任何东西(这是自动工具无声输出的工作方式,例如,默认的默认输出,然后输出GEN target.file或其他)。