On Thursday 2023-12-14 13:59, Jeremy Sowden wrote: >Add an `AM_V_PRINTF` variable to control whether `printf` is called. > >Normally `AM_V_*` variables work by prepending > > @echo blah; > >to a whole rule to replace the usual output with something briefer. >Since, in this case, the aim is to suppress `printf` commands _within_ a >rule, `AM_V_PRINTF` works be prepending `:` to the `printf` command. >@@ -228,19 +232,19 @@ man_run = \ > for ext in $(sort ${1}); do \ > f="${srcdir}/libxt_$$ext.man"; \ > if [ -f "$$f" ]; then \ >- printf "\t+ $$f" >&2; \ >+ ${AM_V_PRINTF} printf "\t+ $$f" >&2; \ I believe I was the author of this "for" block. The intent of V=0 is to hide long build commands and show only the output name. That works for most people most of the time. It did not for me in this very build step. ${1}, i.e. the sections, are dependent on configure options like --disable-ipv4/--disable-ipv6, so I felt it made sense not only to print the output name (as V=0 does) but also the source names—but still not the verbose build command. With that original goal in mind, silencing echo/printf inside this recipe, for the usecase of V=0, is incorrect. [Patches 1 to 6 are fine by me.]