• Masahiro Yamada's avatar
    sh: fix build error for invisible CONFIG_BUILTIN_DTB_SOURCE · 207a369e
    Masahiro Yamada authored
    I fixed a similar build error in commit 1b1e4ee8 ("sh: fix build
    error for empty CONFIG_BUILTIN_DTB_SOURCE"), but it came back again.
    
    Since commit 37c8a5fa ("kbuild: consolidate Devicetree dtb
    build rules"), the combination of CONFIG_OF_EARLY_FLATTREE=y and
    CONFIG_USE_BUILTIN_DTB=n results in the following build error:
    
      make[1]: *** No rule to make target 'arch/sh/boot/dts/.dtb.o',
      needed by 'arch/sh/boot/dts/built-in.a'.  Stop.
    
    Prior to that commit, there was only one path to descend into
    arch/sh/boot/dts/, and arch/sh/Makefile correctly guards it with
    CONFIG_USE_BUILTIN_DTB:
    
      core-$(CONFIG_USE_BUILTIN_DTB)  += arch/sh/boot/dts/
    
    Now, there is another path to descend there from the top Makefile
    when CONFIG_OF_EARLY_FLATTREE=y. If CONFIG_USE_BUILTIN_DTB is disabled,
    CONFIG_BUILTIN_DTB_SOURCE is invisible instead of defined as "".
    
    Add obj-$(CONFIG_USE_BUILTIN_DTB) guard to avoid the attempt to build
    the non-existing file.
    
    Fixes: 37c8a5fa ("kbuild: consolidate Devicetree dtb build rules")
    Reported-by: default avatarkbuild test robot <lkp@intel.com>
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    207a369e
Makefile 132 Bytes