• Masahiro Yamada's avatar
    kbuild: do not call cc-option before KBUILD_CFLAGS initialization · 433dc2eb
    Masahiro Yamada authored
    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: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
    433dc2eb
Makefile 58 KB