From: Michal Marek Date: Mon, 8 Mar 2010 09:07:12 +0000 (+0100) Subject: kbuild: Do not unnecessarily regenerate modules.builtin X-Git-Tag: v2.6.35-rc2~61^2~16 X-Git-Url: https://bbs.cooldavid.org/git/?a=commitdiff_plain;h=a6c366324cacd5f71107dd01362b995a1c67b1ad;p=net-next-2.6.git kbuild: Do not unnecessarily regenerate modules.builtin Only regenerate it if the configuration has changed. Also, do this after the modules build to fix errors with some weird Makefiles that are generated during build. Reported-by: Eric Miao Signed-off-by: Michal Marek --- diff --git a/Makefile b/Makefile index 2e74a68878c..160cadadc47 100644 --- a/Makefile +++ b/Makefile @@ -882,9 +882,6 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ; PHONY += $(vmlinux-dirs) $(vmlinux-dirs): prepare scripts $(Q)$(MAKE) $(build)=$@ -ifdef CONFIG_MODULES - $(Q)$(MAKE) $(modbuiltin)=$@ -endif # Build the kernel release string # @@ -1089,7 +1086,7 @@ ifdef CONFIG_MODULES # By default, build modules as well -all: modules +all: modules modules.builtin # Build modules # @@ -1100,11 +1097,16 @@ all: modules PHONY += modules modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.order) > $(objtree)/modules.order - $(Q)$(AWK) '!x[$$0]++' $(vmlinux-dirs:%=$(objtree)/%/modules.builtin) > $(objtree)/modules.builtin @$(kecho) ' Building modules, stage 2.'; $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.fwinst obj=firmware __fw_modbuild +modules.builtin: $(vmlinux-dirs:%=%/modules.builtin) + $(Q)$(AWK) '!x[$$0]++' $^ > $(objtree)/modules.builtin + +%/modules.builtin: include/config/auto.conf | modules + $(Q)$(MAKE) $(modbuiltin)=$* + # Target to prepare building external modules PHONY += modules_prepare