X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=Makefile;h=45e5a38fbc7aee34f68a852e4a6530609ccc52f2;hb=cc6120c6687c34501c0b1d49b4d7e46c63911fed;hp=382298f37adfb010b32d0904e818081da5824f19;hpb=32983696a48a6c41d99f3eca82ba7510a552d843;p=linux-2.6 diff --git a/Makefile b/Makefile index 382298f37a..45e5a38fbc 100644 --- a/Makefile +++ b/Makefile @@ -491,6 +491,7 @@ include .config # If .config is newer than include/linux/autoconf.h, someone tinkered # with it and forgot to run make oldconfig include/linux/autoconf.h: .config + $(Q)mkdir -p include/linux $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig else # Dummy target needed, because used as prerequisite @@ -776,15 +777,20 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ; # Error messages still appears in the original language .PHONY: $(vmlinux-dirs) -$(vmlinux-dirs): prepare-all scripts +$(vmlinux-dirs): prepare scripts $(Q)$(MAKE) $(build)=$@ # Things we need to do before we recursively start building the kernel -# or the modules are listed in "prepare-all". -# A multi level approach is used. prepare1 is updated first, then prepare0. -# prepare-all is the collection point for the prepare targets. +# or the modules are listed in "prepare". +# A multi level approach is used. prepareN is processed before prepareN-1. +# archprepare is used in arch Makefiles and when processed asm symlink, +# version.h and scripts_basic is processed / created. + +# Listed in dependency order +.PHONY: prepare archprepare prepare0 prepare1 prepare2 prepare3 -.PHONY: prepare-all prepare prepare0 prepare1 prepare2 prepare3 +# prepare-all is deprecated, use prepare as valid replacement +.PHONY: prepare-all # prepare3 is used to check if we are building in a separate output directory, # and if so do: @@ -813,11 +819,13 @@ ifneq ($(KBUILD_MODULES),) $(Q)mkdir -p $(MODVERDIR) endif -prepare0: prepare prepare1 FORCE +archprepare: prepare1 scripts_basic + +prepare0: archprepare FORCE $(Q)$(MAKE) $(build)=. # All the preparing.. -prepare-all: prepare0 +prepare prepare-all: prepare0 # Leave this as default for preprocessing vmlinux.lds.S, which is now # done in arch/$(ARCH)/kernel/Makefile @@ -908,7 +916,7 @@ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux) # Target to prepare building external modules .PHONY: modules_prepare -modules_prepare: prepare-all scripts +modules_prepare: prepare scripts # Target to install modules .PHONY: modules_install