• Masahiro Yamada's avatar
    kbuild: update config_data.gz only when the content of .config is changed · 46b41d5d
    Masahiro Yamada authored
    If the timestamp of the .config file is updated, config_data.gz is
    regenerated, then vmlinux is re-linked. This occurs even if the content
    of the .config has not changed at all.
    
    This issue was mitigated by commit 67424f61 ("kconfig: do not write
    .config if the content is the same"); Kconfig does not update the
    .config when it ends up with the identical configuration.
    
    The issue is remaining when the .config is created by *_defconfig with
    some config fragment(s) applied on top.
    
    This is typical for powerpc and mips, where several *_defconfig targets
    are constructed by using merge_config.sh.
    
    One workaround is to have the copy of the .config. The filechk rule
    updates the copy, kernel/config_data, by checking the content instead
    of the timestamp.
    
    With this commit, the second run with the same configuration avoids
    the needless rebuilds.
    
      $ make ARCH=mips defconfig all
       [ snip ]
      $ make ARCH=mips defconfig all
      *** Default co...
    46b41d5d
Makefile 5.16 KB