kbuild: remove scripts/multiconfig.sh
We have switched to the single .config configuration system, the same one as used in Linux Kernel. The necessary glue code is small enough now, so move it to the top-level Makefile and scripts/kconfig/Makefile, and then delete scripts/multiconfig.sh. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
97ec89e501
commit
5f9eb22075
13
Makefile
13
Makefile
@ -469,10 +469,10 @@ KBUILD_DEFCONFIG := sandbox_defconfig
|
|||||||
export KBUILD_DEFCONFIG KBUILD_KCONFIG
|
export KBUILD_DEFCONFIG KBUILD_KCONFIG
|
||||||
|
|
||||||
config: scripts_basic outputmakefile FORCE
|
config: scripts_basic outputmakefile FORCE
|
||||||
+$(Q)$(CONFIG_SHELL) $(srctree)/scripts/multiconfig.sh $@
|
$(Q)$(MAKE) $(build)=scripts/kconfig $@
|
||||||
|
|
||||||
%config: scripts_basic outputmakefile FORCE
|
%config: scripts_basic outputmakefile FORCE
|
||||||
+$(Q)$(CONFIG_SHELL) $(srctree)/scripts/multiconfig.sh $@
|
$(Q)$(MAKE) $(build)=scripts/kconfig $@
|
||||||
|
|
||||||
else
|
else
|
||||||
# ===========================================================================
|
# ===========================================================================
|
||||||
@ -496,6 +496,15 @@ $(KCONFIG_CONFIG) include/config/auto.conf.cmd: ;
|
|||||||
# we execute the config step to be sure to catch updated Kconfig files
|
# we execute the config step to be sure to catch updated Kconfig files
|
||||||
include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
|
include/config/%.conf: $(KCONFIG_CONFIG) include/config/auto.conf.cmd
|
||||||
$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
|
$(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
|
||||||
|
@# If the following part fails, include/config/auto.conf should be
|
||||||
|
@# deleted so "make silentoldconfig" will be re-run on the next build.
|
||||||
|
$(Q)$(MAKE) -f $(srctree)/scripts/Makefile.autoconf || \
|
||||||
|
{ rm -f include/config/auto.conf; false; }
|
||||||
|
@# include/config.h has been updated after "make silentoldconfig".
|
||||||
|
@# We need to touch include/config/auto.conf so it gets newer
|
||||||
|
@# than include/config.h.
|
||||||
|
@# Otherwise, 'make silentoldconfig' would be invoked twice.
|
||||||
|
$(Q)touch include/config/auto.conf
|
||||||
|
|
||||||
-include include/autoconf.mk
|
-include include/autoconf.mk
|
||||||
-include include/autoconf.mk.dep
|
-include include/autoconf.mk.dep
|
||||||
|
@ -5,6 +5,12 @@
|
|||||||
PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config \
|
PHONY += oldconfig xconfig gconfig menuconfig config silentoldconfig update-po-config \
|
||||||
localmodconfig localyesconfig
|
localmodconfig localyesconfig
|
||||||
|
|
||||||
|
# Added for U-Boot
|
||||||
|
# Linux has defconfig files in arch/$(SRCARCH)/configs/,
|
||||||
|
# on the other hand, U-Boot does in configs/.
|
||||||
|
# Set SRCARCH to .. fake this Makefile.
|
||||||
|
SRCARCH := ..
|
||||||
|
|
||||||
ifdef KBUILD_KCONFIG
|
ifdef KBUILD_KCONFIG
|
||||||
Kconfig := $(KBUILD_KCONFIG)
|
Kconfig := $(KBUILD_KCONFIG)
|
||||||
else
|
else
|
||||||
@ -104,6 +110,10 @@ endif
|
|||||||
%_defconfig: $(obj)/conf
|
%_defconfig: $(obj)/conf
|
||||||
$(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
|
$(Q)$< --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig)
|
||||||
|
|
||||||
|
# Added for U-Boot (backward compatibility)
|
||||||
|
%_config: %_defconfig
|
||||||
|
@:
|
||||||
|
|
||||||
configfiles=$(wildcard $(srctree)/kernel/configs/$(1).config $(srctree)/arch/$(SRCARCH)/configs/$(1).config)
|
configfiles=$(wildcard $(srctree)/kernel/configs/$(1).config $(srctree)/arch/$(SRCARCH)/configs/$(1).config)
|
||||||
|
|
||||||
define mergeconfig
|
define mergeconfig
|
||||||
|
@ -1,90 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# A wrapper script to adjust Kconfig for U-Boot
|
|
||||||
#
|
|
||||||
# This file will be removed after cleaning up defconfig files
|
|
||||||
#
|
|
||||||
# Copyright (C) 2014, Masahiro Yamada <yamada.m@jp.panasonic.com>
|
|
||||||
#
|
|
||||||
# SPDX-License-Identifier: GPL-2.0+
|
|
||||||
#
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
# Make a configuration target
|
|
||||||
# Usage:
|
|
||||||
# run_make_config <target> <objdir>
|
|
||||||
# <target>: Make target such as "config", "menuconfig", "defconfig", etc.
|
|
||||||
run_make_config () {
|
|
||||||
# Linux expects defconfig files in arch/$(SRCARCH)/configs/ directory,
|
|
||||||
# but U-Boot has them in configs/ directory.
|
|
||||||
# Give SRCARCH=.. to fake scripts/kconfig/Makefile.
|
|
||||||
$MAKE -f $srctree/scripts/Makefile.build obj=scripts/kconfig SRCARCH=.. $1
|
|
||||||
}
|
|
||||||
|
|
||||||
do_silentoldconfig () {
|
|
||||||
run_make_config silentoldconfig
|
|
||||||
|
|
||||||
# If the following part fails, include/config/auto.conf should be
|
|
||||||
# deleted so "make silentoldconfig" will be re-run on the next build.
|
|
||||||
$MAKE -f $srctree/scripts/Makefile.autoconf || {
|
|
||||||
rm -f include/config/auto.conf
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
# include/config.h has been updated after "make silentoldconfig".
|
|
||||||
# We need to touch include/config/auto.conf so it gets newer
|
|
||||||
# than include/config.h.
|
|
||||||
# Otherwise, 'make silentoldconfig' would be invoked twice.
|
|
||||||
touch include/config/auto.conf
|
|
||||||
}
|
|
||||||
|
|
||||||
cleanup_after_defconfig () {
|
|
||||||
rm -f configs/.tmp_defconfig
|
|
||||||
# ignore 'Directory not empty' error
|
|
||||||
# without using non-POSIX option '--ignore-fail-on-non-empty'
|
|
||||||
rmdir arch configs 2>/dev/null || true
|
|
||||||
}
|
|
||||||
|
|
||||||
# Usage:
|
|
||||||
# do_board_defconfig <board>_defconfig
|
|
||||||
do_board_defconfig () {
|
|
||||||
defconfig_path=$srctree/configs/$1
|
|
||||||
|
|
||||||
if [ ! -r $defconfig_path ]; then
|
|
||||||
echo >&2 "***"
|
|
||||||
echo >&2 "*** Can't find default configuration \"configs/$1\"!"
|
|
||||||
echo >&2 "***"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
mkdir -p arch configs
|
|
||||||
# prefix "*:" is deprecated. Drop it simply.
|
|
||||||
sed -e 's/^[+A-Z]*://' $defconfig_path > configs/.tmp_defconfig
|
|
||||||
|
|
||||||
run_make_config .tmp_defconfig || {
|
|
||||||
cleanup_after_defconfig
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
cleanup_after_defconfig
|
|
||||||
}
|
|
||||||
|
|
||||||
do_others () {
|
|
||||||
run_make_config $1
|
|
||||||
}
|
|
||||||
|
|
||||||
progname=$(basename $0)
|
|
||||||
target=$1
|
|
||||||
|
|
||||||
case $target in
|
|
||||||
*_defconfig)
|
|
||||||
do_board_defconfig $target;;
|
|
||||||
*_config)
|
|
||||||
# backward compatibility
|
|
||||||
do_board_defconfig ${target%_config}_defconfig;;
|
|
||||||
silentoldconfig)
|
|
||||||
do_silentoldconfig;;
|
|
||||||
*)
|
|
||||||
do_others $target;;
|
|
||||||
esac
|
|
Loading…
Reference in New Issue
Block a user