From 07aea3a71fc6b07744691eec2dfea705a7b30280 Mon Sep 17 00:00:00 2001 From: Sam Ravnborg Date: Sun, 23 Jul 2006 20:47:50 +0200 Subject: kbuild: use in-kernel unifdef Let headers_install use in-kernel unifdef Signed-off-by: Sam Ravnborg --- scripts/Makefile | 3 +++ 1 file changed, 3 insertions(+) (limited to 'scripts/Makefile') diff --git a/scripts/Makefile b/scripts/Makefile index 6f6b48f39f0a..d531a1fcef0c 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -15,6 +15,9 @@ hostprogs-$(CONFIG_IKCONFIG) += bin2c always := $(hostprogs-y) +# The following hostprogs-y programs are only build on demand +hostprogs-y += unifdef + subdir-$(CONFIG_MODVERSIONS) += genksyms subdir-$(CONFIG_MODULES) += mod -- cgit v1.2.3 From 12715d20af9fd9179daca7a1cd2cf3db3c2c494f Mon Sep 17 00:00:00 2001 From: Sam Ravnborg Date: Tue, 8 Aug 2006 20:43:39 +0200 Subject: kbuild: modpost on vmlinux regardless of CONFIG_MODULES Based on patch from: Magnus Damm This has the advantage that all section mismatch checks are run regardless of modules being enabled or not. When running modpost on vmlinux output: MODPOST vmlinux When running modpost on modules output count of modules like this: MODPOST 5 modules Signed-off-by: Sam Ravnborg --- Makefile | 1 + scripts/Makefile | 2 +- scripts/Makefile.modpost | 12 +++++++++--- 3 files changed, 11 insertions(+), 4 deletions(-) (limited to 'scripts/Makefile') diff --git a/Makefile b/Makefile index b06b1ea46fe5..22451c2ac1e0 100644 --- a/Makefile +++ b/Makefile @@ -736,6 +736,7 @@ endif # ifdef CONFIG_KALLSYMS # vmlinux image - including updated kernel symbols vmlinux: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) $(kallsyms.o) FORCE $(call if_changed_rule,vmlinux__) + $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $@ $(Q)rm -f .old_version # The actual objects are generated when descending, diff --git a/scripts/Makefile b/scripts/Makefile index d531a1fcef0c..ea41de8fb7f5 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -19,7 +19,7 @@ always := $(hostprogs-y) hostprogs-y += unifdef subdir-$(CONFIG_MODVERSIONS) += genksyms -subdir-$(CONFIG_MODULES) += mod +subdir-y += mod # Let clean descend into subdirs subdir- += basic kconfig package diff --git a/scripts/Makefile.modpost b/scripts/Makefile.modpost index 0a64688c2b5d..9137df2f9290 100644 --- a/scripts/Makefile.modpost +++ b/scripts/Makefile.modpost @@ -51,19 +51,25 @@ _modpost: $(modules) # Step 2), invoke modpost # Includes step 3,4 -quiet_cmd_modpost = MODPOST +quiet_cmd_modpost = MODPOST $(words $(filter-out vmlinux FORCE, $^)) modules cmd_modpost = scripts/mod/modpost \ $(if $(CONFIG_MODVERSIONS),-m) \ $(if $(CONFIG_MODULE_SRCVERSION_ALL),-a,) \ $(if $(KBUILD_EXTMOD),-i,-o) $(kernelsymfile) \ $(if $(KBUILD_EXTMOD),-I $(modulesymfile)) \ $(if $(KBUILD_EXTMOD),-o $(modulesymfile)) \ - $(filter-out FORCE,$^) + $(wildcard vmlinux) $(filter-out FORCE,$^) PHONY += __modpost -__modpost: $(wildcard vmlinux) $(modules:.ko=.o) FORCE +__modpost: $(modules:.ko=.o) FORCE $(call cmd,modpost) +quiet_cmd_kernel-mod = MODPOST $@ + cmd_kernel-mod = $(cmd_modpost) + +vmlinux: FORCE + $(call cmd,kernel-mod) + # Declare generated files as targets for modpost $(symverfile): __modpost ; $(modules:.ko=.mod.c): __modpost ; -- cgit v1.2.3 From f2443ab6c485701576e9116ee44817e66adafd5a Mon Sep 17 00:00:00 2001 From: Ross Biro Date: Sat, 30 Sep 2006 23:27:25 -0700 Subject: [PATCH] allow /proc/config.gz to be built as a module The driver for /proc/config.gz consumes rather a lot of memory and it is in fact possible to build it as a module. In some ways this is a bit risky, because the .config which is used for compiling kernel/configs.c isn't necessarily the same as the .config which was used to build vmlinux. But OTOH the potential memory savings are decent, and it'd be fairly dumb to build your configs.o with a different .config. Signed-off-by: Andrew Morton Cc: "Randy.Dunlap" Cc: Sam Ravnborg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- init/Kconfig | 2 +- scripts/Makefile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'scripts/Makefile') diff --git a/init/Kconfig b/init/Kconfig index d2eb7a84a264..899e46eec1b2 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -202,7 +202,7 @@ config AUDITSYSCALL ensure that INOTIFY is configured. config IKCONFIG - bool "Kernel .config support" + tristate "Kernel .config support" ---help--- This option enables the complete Linux kernel ".config" file contents to be saved in the kernel. It provides documentation diff --git a/scripts/Makefile b/scripts/Makefile index ea41de8fb7f5..1c73c5aea66b 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -13,7 +13,7 @@ hostprogs-$(CONFIG_VT) += conmakehash hostprogs-$(CONFIG_PROM_CONSOLE) += conmakehash hostprogs-$(CONFIG_IKCONFIG) += bin2c -always := $(hostprogs-y) +always := $(hostprogs-y) $(hostprogs-m) # The following hostprogs-y programs are only build on demand hostprogs-y += unifdef -- cgit v1.2.3