On 2022-03-23, Zack Weinberg <z...@owlfolio.org> wrote: > On Wed, Mar 23, 2022, at 11:31 AM, Evgeny Grin wrote: >> I've found that everywhere in autoconf scripts flags are used like: >> $CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&AS_MESSAGE_LOG_FD >> while automake and libtool use flags in the other order: >> $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) >> $(AM_CFLAGS) $(CFLAGS) > > I agree that this should be made consistent, but before we change > anything, we need to check what the rules *built into GNU and BSD > Make* do with CFLAGS and CPPFLAGS (and also CXXFLAGS, OBJCFLAGS, etc) > because those are much much harder to get changed than anything in > Automake or Autoconf, so we should aim to harmonize everything with > them.
Practically all make implementations use the $(CFLAGS) $(CPPFLAGS) ordering in their builtin .c.o inference rules. However, GNU coding standards state that CFLAGS should be the last item on compilation commands, so it would appear that this is a case where traditional "make" behaviour contrasts with GNU standards (which Automake is following). Cheers, Nick