sh: select KBUILD_DEFCONFIG depending on ARCH
authorMasahiro Yamada <yamada.masahiro@socionext.com>
Thu, 2 Nov 2017 17:40:32 +0000 (02:40 +0900)
committerMasahiro Yamada <yamada.masahiro@socionext.com>
Mon, 13 Nov 2017 13:58:18 +0000 (22:58 +0900)
You can not select KBUILD_DEFCONFIG depending on any CONFIG option
because include/config/auto.conf is not included when building config
targets.  So, CONFIG_SUPERH32 is never set during the configuration,
then cayman_defconfig is always chosen.

This commit provides a sensible way to choose shx3/cayman_defconfig.

arch/sh/Kconfig sets either SUPERH32 or SUPERH64 depending on ARCH
environment, like follows:

  config SUPERH32
          def_bool ARCH = "sh"

          ...

  config SUPERH64
          def_bool ARCH = "sh64"

It should make sense to choose the default defconfig by ARCH,
like arch/sparc/Makefile.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
arch/sh/Makefile

index 280bbff..6530019 100644 (file)
@@ -15,6 +15,12 @@ ifneq ($(SUBARCH),$(ARCH))
   endif
 endif
 
+ifeq ($(ARCH),sh)
+KBUILD_DEFCONFIG       := shx3_defconfig
+else
+KBUILD_DEFCONFIG       := cayman_defconfig
+endif
+
 isa-y                                  := any
 isa-$(CONFIG_SH_DSP)                   := sh
 isa-$(CONFIG_CPU_SH2)                  := sh2
@@ -105,14 +111,12 @@ ifdef CONFIG_SUPERH32
 UTS_MACHINE            := sh
 BITS                   := 32
 LDFLAGS_vmlinux                += -e _stext
-KBUILD_DEFCONFIG       := shx3_defconfig
 else
 UTS_MACHINE            := sh64
 BITS                   := 64
 LDFLAGS_vmlinux                += --defsym phys_stext=_stext-$(CONFIG_PAGE_OFFSET) \
                           --defsym phys_stext_shmedia=phys_stext+1 \
                           -e phys_stext_shmedia
-KBUILD_DEFCONFIG       := cayman_defconfig
 endif
 
 ifdef CONFIG_CPU_LITTLE_ENDIAN