• Masahiro Yamada's avatar
    kbuild: remove kbuild cache · e08d6de4
    Masahiro Yamada authored
    The kbuild cache was introduced to remember the result of shell
    commands, some of which are expensive to compute, such as
    $(call cc-option,...).
    
    However, this turned out not so clever as I had first expected.
    Actually, it is problematic.  For example, "$(CC) -print-file-name"
    is cached.  If the compiler is updated, the stale search path causes
    build error, which is difficult to figure out.  Another problem
    scenario is cache files could be touched while install targets are
    running under the root permission.  We can patch them if desired,
    but the build infrastructure is getting uglier and uglier.
    
    Now, we are going to move compiler flag tests to the configuration
    phase.  If this is completed, the result of compiler tests will be
    naturally cached in the .config file.  We will not have performance
    issues of incremental building since this testing only happens at
    Kconfig time.
    
    To start this work with a cleaner code base, remove the kbuild
    cache first.
    
    Revert the following commits:
    Commit 9a234a2e ("kbuild: create directory for make cache only when necessary")
    Commit e17c400a ("kbuild: shrink .cache.mk when it exceeds 1000 lines")
    Commit 4e562071 ("kbuild: Cache a few more calls to the compiler")
    Commit 3298b690 ("kbuild: Add a cache for generated variables")
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    Reviewed-by: default avatarKees Cook <keescook@chromium.org>
    e08d6de4
Makefile 60.9 KB