On Wed, 2022-01-12 at 14:22 -0900, Britton Kerin wrote: > > You can see that this example mimics your .silent example. > > Your makefile provided a prerequisite to .SILENT. Make then knows > > that .SILENT has a prerequisite. > > I agree that it's consistent syntax, but semantically it's bad. The > expectation and the manual both imply that .SILENT: will have a > global effect, and a real union-of-effects would have .SILENT: > meaning everything and .SILENT: some_target redundant. The root of > the problem is that the rule syntax has been recycled for an > unrelated purpose, especially so for directives without > prerequisites.
Another option you can consider is to add: MAKEFLAGS += --silent to enforce silent mode. This doesn't address the issue you raise but maybe it will help with the problem you're trying to solve.