Hi Jan, * Jan Engelhardt wrote on Sat, Apr 25, 2009 at 11:36:15PM CEST: > $ make > CC foo.o > CXX bar.o > CXXLD prog > $ grep CXX_0 Makefile.in > am__v_CXX_0 = @echo " CXX " $@; > > Expected result would have been: > > $ make > CC foo.o > CXX bar.o > CXXLD prog > $ grep CXX_0 Makefile.in > am__v_CXX_0 = @echo " CXX " $@;
Thanks for the bug report. Fixed with the patch below. Cheers, Ralf silent-rules: fix alignment of less verbose output. * automake.in (define_verbose_var): Define `$silent_var' as VAR_ASIS, not VAR_PRETTY, to avoid squashing of multiple adjacent spaces. * tests/silent.test: Amend test. Report by Jan Engelhardt. diff --git a/automake.in b/automake.in index fe2ff3d..20ef3bd 100755 --- a/automake.in +++ b/automake.in @@ -1158,12 +1158,15 @@ sub define_verbose_var ($$) my ($name, $val) = @_; my $var = verbose_var ($name); my $pvar = verbose_private_var ($name); + my $silent_var = $pvar . '_0'; if (option 'silent-rules') { # Using `$V' instead of `$(V)' breaks IRIX make. define_variable ($var, '$(' . $pvar . '_$(V))', INTERNAL); define_variable ($pvar . '_', '$(' . $pvar . '_$(AM_DEFAULT_VERBOSITY))', INTERNAL); - define_variable ($pvar . '_0', $val, INTERNAL); + Automake::Variable::define ($silent_var, VAR_AUTOMAKE, '', TRUE, $val, + '', INTERNAL, VAR_ASIS) + if (! vardef ($silent_var, TRUE)); } } diff --git a/tests/silent.test b/tests/silent.test index 4eb11d5..73d6bff 100755 --- a/tests/silent.test +++ b/tests/silent.test @@ -66,7 +66,7 @@ cat stdout grep ' -c' stdout && Exit 1 grep ' -o foo' stdout && Exit 1 grep mv stdout && Exit 1 -grep 'CC .*foo\.' stdout +grep 'CC .*foo\.' stdout grep 'CC .*bar\.' stdout grep 'CC .*baz\.' stdout grep 'CC .*bla\.' stdout