sh: select KBUILD_DEFCONFIG depending on ARCH

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>
This commit is contained in:
Masahiro Yamada 2017-11-03 02:40:32 +09:00
parent 86a9df597c
commit 859fd5860c

View 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