If AM_SILENT_RULES is used, Automake generates Makefile.in files with lines like this:
AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) and these are copied into Makefile unchanged. Unfortunately, as the Automake documentation notes, these lines do not conform to the POSIX rules for 'make', and as a result packages like Coreutils that use AM_SILENT_RULES won't build on machines whose 'make' implementations conform to POSIX but disagree with GNU make in this area. This is a problem with the current release of Coreutils, which doesn't build on HP's NonStop OS (see Bug#10234). The simplest fix for Coreutils is to not use AM_SILENT_RULES but that defeats the purpose of the Automake feature. How about the following idea instead? Automake could put something like the following into Makefile.in: AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_VERBOSITY@) and then Automake can do something like this: if make supports $(...$(...)); then AM_V='$(V)' AM_DEFAULT_VERBOSITY='$(AM_DEFAULT_VERBOSITY)' else AM_V=1 AM_DEFAULT_VERBOSITY=1 fi AC_SUBST([AM_V]) AC_SUBST([AM_DEFAULT_VERBOSITY]) That way, Coreutils could continue to use AM_SILENT_RULES, and these rules would work as usual on most hosts that use GNU make-ish syntax in this area, but the rules wouldn't break on hosts that support POSIX but not GNU make. This idea should also fix Bug#9928 (in a different way from what's proposed there), so I'll CC: its reporter.