我有这个makefile目标:
doc:
@cd doku; \
make clean > /dev/null 2>/dev/null; \
make > /dev/null 2>/dev/null
如果此目标中的make是正常的,它会正常结束,但如果make inside target doc返回错误,则会保持“卡住”状态。按Enter后,它正常结束:
make: *** [doc] Error 2
是否有任何选项可以在不按Enter
键的情况下结束制作?
答案 0 :(得分:1)
在调用子品牌时,您应该始终使用$(MAKE)
,而不是make
。这实际上是一个shell问题,而不是make问题,但是如果你不希望进程读取输入,你可以从/dev/null
重定向stdin:
make >/dev/null 2>&1 </dev/null