【发布时间】:2023-03-12 07:47:01
【问题描述】:
我如何停止说make: Nothing to be done for 'all'. 或make: 'file' is up to date?我希望我的构建在它不做任何事情时保持沉默 - 还有其他地方调用 echo 来跟踪构建进度,所以这条消息只是把事情弄得乱七八糟。我目前正在像这样使其静音:
all: dependency1 dependency2
@:
有些事情告诉我一定有更好的方法。有什么想法吗?
编辑:
我希望命令 echo 在它确实需要构建某些东西时保持工作。我希望的一个很好的例子是--no-print-directory,但我找不到任何其他标志来关闭选定的消息。
【问题讨论】:
-
对于我们的构建系统,我从未找到比您使用的更好的方法。
-
@Nathan,事情就是这样发展的。
-
如果您可以更改 makefile 的内部结构,但不能更改调用它的命令行,那么从内部再次运行 make 怎么样:“target: @$(MAKE) -s realTarget”。我已经对此进行了测试,并且可以正常工作。
-
@Beta,这很像系统现在的工作方式。不过,我确实想远离
-s,因为它会使确实需要发生某些事情的构建保持沉默。 -
-s 不会使 echo 命令静音。我正在使用 GNUMake 3.81。
标签: makefile dependencies gnu-make