https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85777
--- Comment #10 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> --- (In reply to Jakub Jelinek from comment #9) > That is not true, automake is highly customizable, you can e.g. override > COMPILE/LTCOMPILE variables in Makefile.am or something similar. The issue is that what COMPILE/LTCOMPILE should contain is not specified, so that it is impossible to write a replacement that will be guaranteed to work in a portable way. For instance, the following is generated: LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) but the AM_V_lt variable is nowhere documented. Thus replacing COMPILE/LTCOMPILE would require the developer to use obscure internals. I will never do that! Anyway, this would not be these variables that one would need to change, but the Make rules that invoke the compiler, like: .c.o: $(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\ $(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\ $(am__mv) $$depbase.Tpo $$depbase.Po # $(AM_V_CC)source='$<' object='$@' libtool=no \ # DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) \ # $(AM_V_CC_no)$(COMPILE) -c -o $@ $< But this is even worse: more internals, more code that is platform-dependent...