Makefile 停止使其进入/退出回显目录
我有一个Makefile 停止使其进入/退出回显目录,makefile,gnu-make,Makefile,Gnu Make,我有一个Makefile,它遍历目录列表,工作正常,但是我不想看到进入/离开信息消息,如下所示: make[1]: Leaving directory `/home/zzz/aaa/bbb/ccc' 执行遍历的代码位(其中ccc是子目录中的一个目录,而Makefile位于bbb目录中)如下所示: @for i in $(SUBDIRS); do \ (cd $$i; make $@); \ done 我猜(cd$$I;make$@)部分需要做些什么,但无法确定是什么 谢谢尝试使用includ
Makefile
,它遍历目录列表,工作正常,但是我不想看到进入
/离开
信息消息,如下所示:
make[1]: Leaving directory `/home/zzz/aaa/bbb/ccc'
执行遍历的代码位(其中ccc
是子目录中的一个目录,而Makefile
位于bbb
目录中)如下所示:
@for i in $(SUBDIRS); do \
(cd $$i; make $@); \
done
我猜(cd$$I;make$@)
部分需要做些什么,但无法确定是什么
谢谢尝试使用include而不是“for”循环:
尝试使用include而不是“for”循环:
GNU makes根据MAKELEVEL
决定是否打印此信息:如果已设置且>0,则打印此信息。您可以取消设置或伪造零MAKELEVEL
,因此gnumake认为这是初始调用
@for i in $(SUBDIRS); do \
(cd $$i; unset MAKELEVEL; make $@); \
done
我们应该做到这一点
另一方面,递归使被认为是有害的(谷歌it)。如果可以,避免它
编辑:正如bobbogo指出的,有一个GNU make选项——无打印目录
;这比我上面的hack要好得多。GNU makes根据MAKELEVEL
决定是否打印此信息:如果设置为且>0,则打印信息。您可以取消设置或伪造零MAKELEVEL
,因此gnumake认为这是初始调用
@for i in $(SUBDIRS); do \
(cd $$i; unset MAKELEVEL; make $@); \
done
我们应该做到这一点
另一方面,递归使被认为是有害的(谷歌it)。如果可以,避免它
编辑:正如bobbogo指出的,有一个GNU make选项——无打印目录
;这比我上面的破解要好得多。这就成功了,谢谢。重新递归make,是make是调用make,但是在每个DIR中使用不同的MaCH文件,我认为这个样式是无害的。如果是在同一个Makefile上调用make,我完全同意。这就成功了,谢谢。重新递归make,是make是调用make,但是在每个DIR中使用不同的MaCH文件,我认为这个样式是无害的。如果是在同一个Makefile上调用make,则完全同意。make——没有打印目录将执行此操作。哦,当递归调用MAKE时,请使用${MAKE}
。MAKE--没有打印目录可以这样做。哦,当递归调用MAKE时,请使用${MAKE}
。这不可能工作;想想每个Mag文件都有一个<代码>: Trave:这是不可能的。想想每个Mag文件都有一个<代码>:目标。