diff options
author | Sam Ravnborg <sam@mars.ravnborg.org> | 2006-08-08 20:43:39 +0200 |
---|---|---|
committer | Sam Ravnborg <sam@neptun.ravnborg.org> | 2006-09-25 09:01:49 +0200 |
commit | 12715d20af9fd9179daca7a1cd2cf3db3c2c494f (patch) | |
tree | 0dc3e2a0523fb20eb01c1a5b38d13b93acd50cfe | |
parent | kbuild: ignore references from ".pci_fixup" to ".init.text" (diff) | |
download | linux-12715d20af9fd9179daca7a1cd2cf3db3c2c494f.tar.xz linux-12715d20af9fd9179daca7a1cd2cf3db3c2c494f.zip |
kbuild: modpost on vmlinux regardless of CONFIG_MODULES
Based on patch from: Magnus Damm <magnus@valinux.co.jp>
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 <sam@ravnborg.org>
-rw-r--r-- | Makefile | 1 | ||||
-rw-r--r-- | scripts/Makefile | 2 | ||||
-rw-r--r-- | scripts/Makefile.modpost | 12 |
3 files changed, 11 insertions, 4 deletions
@@ -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 ; |