The reason `$(CPPFLAGS)' appears after `$(AM_CPPFLAGS)' or
`$(mumble_CPPFLAGS)' in the compile command is that users should always
have the last say. It probably makes more sense if you think about it
while looking at the `CXXFLAGS=-O0' above, which should supersede any
other switch from `AM_CXXFLAGS' or `mumble_CXXFLAGS' (and this of
course replaces the previous value of `CXXFLAGS').
You should never redefine a user variable such as `CPPFLAGS' in
`Makefile.am'. Use `automake -Woverride' to diagnose such mistakes.
Even something like
CPPFLAGS = -DDATADIR=\"$(datadir)\" @CPPFLAGS@
is erroneous. Although this preserves `configure''s value of
`CPPFLAGS', the definition of `DATADIR' will disappear if a user
attempts to override `CPPFLAGS' from the `make' command line.
AM_CPPFLAGS = -DDATADIR=\"$(datadir)\"
is all what is needed here if no per-target flags are used.