• Masahiro Yamada's avatar
    kbuild: refactor cc-cross-prefix implementation · bd55f96f
    Masahiro Yamada authored
    - $(word 1, <text>) is equivalent to $(firstword <text>)
    
     - hardcode "gcc" instead of $(CC)
    
     - minimize the shell script part
    
    A little more notes in case $(filter-out -%, ...) is not clear.
    
    arch/mips/Makefile passes prefixes depending on the configuration.
    
    CROSS_COMPILE := $(call cc-cross-prefix, $(tool-archpref)-linux- \
        $(tool-archpref)-linux-gnu- $(tool-archpref)-unknown-linux-gnu-)
    
    In the Kconfig stage (e.g. when you run 'make defconfig'), neither
    CONFIG_32BIT nor CONFIG_64BIT is defined. So, $(tool-archpref) is
    empty. As a result, "-linux -linux-gnu- -unknown-linux-gnu" is passed
    into cc-cross-prefix. The command 'which' assumes arguments starting
    with a hyphen as command options, then emits the following messages:
    
      Illegal option -l
      Illegal option -l
      Illegal option -u
    
    I think it is strange to define CROSS_COMPILE depending on the CONFIG
    options since you need to feed $(CC) to Kconfig, but it is how MIPS
    Makefile currently works. Anyway, it would not hurt to filter-out
    invalid strings beforehand.
    Signed-off-by: default avatarMasahiro Yamada <yamada.masahiro@socionext.com>
    bd55f96f
Kbuild.include 13 KB