Hi, On Thu, Oct 12, 2017 at 2:22 AM, Masahiro Yamada <[email protected]> wrote: > Some $(call cc-option,...) are invoked very early, even before > KBUILD_CFLAGS, etc. are initialized. > > The returned string from $(call cc-option,...) depends on > KBUILD_CPPFLAGS, KBUILD_CFLAGS, and GCC_PLUGINS_CFLAGS. > > Since they are exported, they are not empty when the top Makefile > is recursively invoked. > > The recursion occurs in several places. For example, the top > Makefile invokes itself for silentoldconfig. "make tinyconfig", > "make rpm-pkg" are the cases, too. > > In those cases, the second call of cc-option from the same line > runs a different shell command due to non-pristine KBUILD_CFLAGS. > > To get the same result all the time, KBUILD_* and GCC_PLUGINS_CFLAGS > must be initialized before any call of cc-option. This avoids > garbage data in the .cache.mk file. > > Move all calls of cc-option below the config targets because target > compiler flags are unnecessary for Kconfig. > > Signed-off-by: Masahiro Yamada <[email protected]> > --- > > Makefile | 21 +++++++++++---------- > 1 file changed, 11 insertions(+), 10 deletions(-)
I can't pretend that I know of all the subtleties involved in the twisty turny passages of the kernel Makefiles, but as far as I can tell this looks good. Thanks! Reviewed-by: Douglas Anderson <[email protected]>

