Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e3646e5 authored by Roman Zippel's avatar Roman Zippel Committed by Sam Ravnborg
Browse files

kconfig: integrate split config into silentoldconfig



Now that kconfig can load multiple configurations, it becomes simple to
integrate the split config step, by simply comparing the new .config file with
the old auto.conf (and then saving the new auto.conf).  A nice side effect is
that this saves a bit of disk space and cache, as no data needs to be read
from or saved into the splitted config files anymore (e.g.  include/config is
now 648KB instead of 5.2MB).

Signed-off-by: default avatarRoman Zippel <zippel@linux-m68k.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
parent 669bfad9
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -418,7 +418,7 @@ ifeq ($(KBUILD_EXTMOD),)
# Carefully list dependencies so we do not try to build scripts twice
# in parrallel
PHONY += scripts
scripts: scripts_basic include/config/MARKER
scripts: scripts_basic include/config/auto.conf
	$(Q)$(MAKE) $(build)=$(@)

# Objects we will link into vmlinux / subdirs we need to visit
@@ -787,7 +787,7 @@ endif
prepare2: prepare3 outputmakefile

prepare1: prepare2 include/linux/version.h include/asm \
                   include/config/MARKER
                   include/config/auto.conf
ifneq ($(KBUILD_MODULES),)
	$(Q)mkdir -p $(MODVERDIR)
	$(Q)rm -f $(MODVERDIR)/*
@@ -815,13 +815,6 @@ include/asm:
	$(Q)if [ ! -d include ]; then mkdir -p include; fi;
	@ln -fsn asm-$(ARCH) $@

# 	Split autoconf.h into include/linux/config/*

include/config/MARKER: scripts/basic/split-include include/config/auto.conf
	@echo '  SPLIT   include/linux/autoconf.h -> include/config/*'
	@scripts/basic/split-include include/linux/autoconf.h include/config
	@touch $@

# Generate some files
# ---------------------------------------------------------------------------

+1 −1
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ boot := arch/arm/boot
#	them changed.  We use .arch to indicate when they were updated
#	last, otherwise make uses the target directory mtime.

include/asm-arm/.arch: $(wildcard include/config/arch/*.h) include/config/MARKER
include/asm-arm/.arch: $(wildcard include/config/arch/*.h) include/config/auto.conf
	@echo '  SYMLINK include/asm-arm/arch -> include/asm-arm/$(INCDIR)'
ifneq ($(KBUILD_SRC),)
	$(Q)mkdir -p include/asm-arm
+2 −2
Original line number Diff line number Diff line
@@ -147,7 +147,7 @@ endif
#	them changed.  We use .arch and .mach to indicate when they were
#	updated last, otherwise make uses the target directory mtime.

include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) include/config/MARKER
include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) include/config/auto.conf
	@echo '  SYMLINK include/asm-sh/cpu -> include/asm-sh/$(cpuincdir-y)'
	$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
	$(Q)ln -fsn $(incdir-prefix)$(cpuincdir-y) include/asm-sh/cpu
@@ -157,7 +157,7 @@ include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) include/config/MARKER
#	don't, just reference the parent directory so the semantics are
#	kept roughly the same.

include/asm-sh/.mach: $(wildcard include/config/sh/*.h) include/config/MARKER
include/asm-sh/.mach: $(wildcard include/config/sh/*.h) include/config/auto.conf
	@echo -n '  SYMLINK include/asm-sh/mach -> '
	$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
	$(Q)if [ -d $(incdir-prefix)$(incdir-y) ]; then \
+1 −1
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ archprepare: $(archinc)/.platform
# Update machine cpu and platform symlinks if something which affects
# them changed.

$(archinc)/.platform: $(wildcard include/config/arch/*.h) include/config/MARKER
$(archinc)/.platform: $(wildcard include/config/arch/*.h) include/config/auto.conf
	@echo '  SYMLINK $(archinc)/xtensa/config -> $(archinc)/xtensa/config-$(CPU)'
	$(Q)mkdir -p $(archinc)
	$(Q)mkdir -p $(archinc)/xtensa
+2 −4
Original line number Diff line number Diff line
###
# Makefile.basic list the most basic programs used during the build process.
# The programs listed herein is what is needed to do the basic stuff,
# such as splitting .config and fix dependency file.
# such as fix dependency file.
# This initial step is needed to avoid files to be recompiled
# when kernel configuration changes (which is what happens when
# .config is included by main Makefile.
# ---------------------------------------------------------------------------
# fixdep: 	 Used to generate dependency information during build process
# split-include: Divide all config symbols up in a number of files in
#                include/config/...
# docproc:	 Used in Documentation/docbook

hostprogs-y	:= fixdep split-include docproc
hostprogs-y	:= fixdep docproc
always		:= $(hostprogs-y)

# fixdep is needed to compile other host programs
Loading