• Masahiro Yamada's avatar
    kbuild: skip parsing pre sub-make code for recursion · 221cc2d2
    Masahiro Yamada authored
    When Make recurses to the top Makefile with sub-make-done unset,
    the code block surrounded by 'ifneq ($(sub-make-done),1) ... endif'
    is parsed multiple times. This happens for in-tree building of
    include/config/auto.conf, *-pkg, etc. with GNU Make 4.x.
    
    This is a slight regression by commit 688931a5 ("kbuild: skip
    sub-make for in-tree build with GNU Make 4.x") in terms of performance
    since that code block contains one $(shell ...) invocation.
    
    Fix it by exporting the variable irrespective of sub-make being run.
    I renamed it because GNU Make cannot properly export variables
    containing hyphens. This is probably a bug of GNU Make, and the issue
    in Kbuild had already been reported by commit 2bfbe788 ("kbuild:
    Do not use hyphen in exported variable name").
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    221cc2d2
Makefile 58.2 KB