aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Documentation/kbuild/makefiles.txt14
-rw-r--r--Makefile24
-rw-r--r--arch/arm/Makefile2
-rw-r--r--arch/cris/Makefile2
-rw-r--r--arch/ia64/Makefile2
-rw-r--r--arch/mips/kernel/asm-offsets.c (renamed from arch/mips/kernel/offset.c)0
-rw-r--r--arch/ppc/Makefile2
-rw-r--r--arch/sh/Makefile2
-rw-r--r--arch/sh64/Makefile2
-rw-r--r--arch/um/Makefile2
-rw-r--r--arch/xtensa/Makefile2
11 files changed, 31 insertions, 23 deletions
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index 9a1586590d82..d802ce88bedc 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -31,7 +31,7 @@ This document describes the Linux kernel Makefiles.
31 31
32 === 6 Architecture Makefiles 32 === 6 Architecture Makefiles
33 --- 6.1 Set variables to tweak the build to the architecture 33 --- 6.1 Set variables to tweak the build to the architecture
34 --- 6.2 Add prerequisites to prepare: 34 --- 6.2 Add prerequisites to archprepare:
35 --- 6.3 List directories to visit when descending 35 --- 6.3 List directories to visit when descending
36 --- 6.4 Architecture specific boot images 36 --- 6.4 Architecture specific boot images
37 --- 6.5 Building non-kbuild targets 37 --- 6.5 Building non-kbuild targets
@@ -734,18 +734,18 @@ When kbuild executes the following steps are followed (roughly):
734 for loadable kernel modules. 734 for loadable kernel modules.
735 735
736 736
737--- 6.2 Add prerequisites to prepare: 737--- 6.2 Add prerequisites to archprepare:
738 738
739 The prepare: rule is used to list prerequisites that needs to be 739 The archprepare: rule is used to list prerequisites that needs to be
740 built before starting to descend down in the subdirectories. 740 built before starting to descend down in the subdirectories.
741 This is usual header files containing assembler constants. 741 This is usual header files containing assembler constants.
742 742
743 Example: 743 Example:
744 #arch/s390/Makefile 744 #arch/arm/Makefile
745 prepare: include/asm-$(ARCH)/offsets.h 745 archprepare: maketools
746 746
747 In this example the file include/asm-$(ARCH)/offsets.h will 747 In this example the file target maketools will be processed
748 be built before descending down in the subdirectories. 748 before descending down in the subdirectories.
749 See also chapter XXX-TODO that describe how kbuild supports 749 See also chapter XXX-TODO that describe how kbuild supports
750 generating offset header files. 750 generating offset header files.
751 751
diff --git a/Makefile b/Makefile
index 382298f37adf..45e5a38fbc7a 100644
--- a/Makefile
+++ b/Makefile
@@ -491,6 +491,7 @@ include .config
491# If .config is newer than include/linux/autoconf.h, someone tinkered 491# If .config is newer than include/linux/autoconf.h, someone tinkered
492# with it and forgot to run make oldconfig 492# with it and forgot to run make oldconfig
493include/linux/autoconf.h: .config 493include/linux/autoconf.h: .config
494 $(Q)mkdir -p include/linux
494 $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig 495 $(Q)$(MAKE) -f $(srctree)/Makefile silentoldconfig
495else 496else
496# Dummy target needed, because used as prerequisite 497# Dummy target needed, because used as prerequisite
@@ -776,15 +777,20 @@ $(sort $(vmlinux-init) $(vmlinux-main)) $(vmlinux-lds): $(vmlinux-dirs) ;
776# Error messages still appears in the original language 777# Error messages still appears in the original language
777 778
778.PHONY: $(vmlinux-dirs) 779.PHONY: $(vmlinux-dirs)
779$(vmlinux-dirs): prepare-all scripts 780$(vmlinux-dirs): prepare scripts
780 $(Q)$(MAKE) $(build)=$@ 781 $(Q)$(MAKE) $(build)=$@
781 782
782# Things we need to do before we recursively start building the kernel 783# Things we need to do before we recursively start building the kernel
783# or the modules are listed in "prepare-all". 784# or the modules are listed in "prepare".
784# A multi level approach is used. prepare1 is updated first, then prepare0. 785# A multi level approach is used. prepareN is processed before prepareN-1.
785# prepare-all is the collection point for the prepare targets. 786# archprepare is used in arch Makefiles and when processed asm symlink,
787# version.h and scripts_basic is processed / created.
788
789# Listed in dependency order
790.PHONY: prepare archprepare prepare0 prepare1 prepare2 prepare3
786 791
787.PHONY: prepare-all prepare prepare0 prepare1 prepare2 prepare3 792# prepare-all is deprecated, use prepare as valid replacement
793.PHONY: prepare-all
788 794
789# prepare3 is used to check if we are building in a separate output directory, 795# prepare3 is used to check if we are building in a separate output directory,
790# and if so do: 796# and if so do:
@@ -813,11 +819,13 @@ ifneq ($(KBUILD_MODULES),)
813 $(Q)mkdir -p $(MODVERDIR) 819 $(Q)mkdir -p $(MODVERDIR)
814endif 820endif
815 821
816prepare0: prepare prepare1 FORCE 822archprepare: prepare1 scripts_basic
823
824prepare0: archprepare FORCE
817 $(Q)$(MAKE) $(build)=. 825 $(Q)$(MAKE) $(build)=.
818 826
819# All the preparing.. 827# All the preparing..
820prepare-all: prepare0 828prepare prepare-all: prepare0
821 829
822# Leave this as default for preprocessing vmlinux.lds.S, which is now 830# Leave this as default for preprocessing vmlinux.lds.S, which is now
823# done in arch/$(ARCH)/kernel/Makefile 831# done in arch/$(ARCH)/kernel/Makefile
@@ -908,7 +916,7 @@ modules: $(vmlinux-dirs) $(if $(KBUILD_BUILTIN),vmlinux)
908 916
909# Target to prepare building external modules 917# Target to prepare building external modules
910.PHONY: modules_prepare 918.PHONY: modules_prepare
911modules_prepare: prepare-all scripts 919modules_prepare: prepare scripts
912 920
913# Target to install modules 921# Target to install modules
914.PHONY: modules_install 922.PHONY: modules_install
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index e625ac66f49b..130e6228b587 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -175,7 +175,7 @@ else
175endif 175endif
176 @touch $@ 176 @touch $@
177 177
178prepare: maketools include/asm-arm/.arch 178archprepare: maketools include/asm-arm/.arch
179 179
180.PHONY: maketools FORCE 180.PHONY: maketools FORCE
181maketools: include/linux/version.h FORCE 181maketools: include/linux/version.h FORCE
diff --git a/arch/cris/Makefile b/arch/cris/Makefile
index a00043a91f16..ea65d585cf5e 100644
--- a/arch/cris/Makefile
+++ b/arch/cris/Makefile
@@ -107,7 +107,7 @@ archclean:
107 rm -f timage vmlinux.bin decompress.bin rescue.bin cramfs.img 107 rm -f timage vmlinux.bin decompress.bin rescue.bin cramfs.img
108 rm -rf $(LD_SCRIPT).tmp 108 rm -rf $(LD_SCRIPT).tmp
109 109
110prepare: $(SRC_ARCH)/.links $(srctree)/include/asm-$(ARCH)/.arch 110archprepare: $(SRC_ARCH)/.links $(srctree)/include/asm-$(ARCH)/.arch
111 111
112# Create some links to make all tools happy 112# Create some links to make all tools happy
113$(SRC_ARCH)/.links: 113$(SRC_ARCH)/.links:
diff --git a/arch/ia64/Makefile b/arch/ia64/Makefile
index 7ed678cf5e41..70f8ed2748d1 100644
--- a/arch/ia64/Makefile
+++ b/arch/ia64/Makefile
@@ -82,7 +82,7 @@ unwcheck: vmlinux
82archclean: 82archclean:
83 $(Q)$(MAKE) $(clean)=$(boot) 83 $(Q)$(MAKE) $(clean)=$(boot)
84 84
85prepare: include/asm-ia64/.offsets.h.stamp 85archprepare: include/asm-ia64/.offsets.h.stamp
86 86
87include/asm-ia64/.offsets.h.stamp: 87include/asm-ia64/.offsets.h.stamp:
88 mkdir -p include/asm-ia64 88 mkdir -p include/asm-ia64
diff --git a/arch/mips/kernel/offset.c b/arch/mips/kernel/asm-offsets.c
index 2c11abb5a406..2c11abb5a406 100644
--- a/arch/mips/kernel/offset.c
+++ b/arch/mips/kernel/asm-offsets.c
diff --git a/arch/ppc/Makefile b/arch/ppc/Makefile
index 6dd7b50e0669..16e2675f3270 100644
--- a/arch/ppc/Makefile
+++ b/arch/ppc/Makefile
@@ -107,7 +107,7 @@ archclean:
107 # Temporary hack until we have migrated to asm-powerpc 107 # Temporary hack until we have migrated to asm-powerpc
108 $(Q)rm -rf arch/$(ARCH)/include 108 $(Q)rm -rf arch/$(ARCH)/include
109 109
110prepare: checkbin 110archprepare: checkbin
111 111
112# Temporary hack until we have migrated to asm-powerpc 112# Temporary hack until we have migrated to asm-powerpc
113include/asm: arch/$(ARCH)/include/asm 113include/asm: arch/$(ARCH)/include/asm
diff --git a/arch/sh/Makefile b/arch/sh/Makefile
index 19f00d57acf0..4a3049080b41 100644
--- a/arch/sh/Makefile
+++ b/arch/sh/Makefile
@@ -152,7 +152,7 @@ endif
152 @touch $@ 152 @touch $@
153 153
154 154
155prepare: maketools include/asm-sh/.cpu include/asm-sh/.mach 155archprepare: maketools include/asm-sh/.cpu include/asm-sh/.mach
156 156
157.PHONY: maketools FORCE 157.PHONY: maketools FORCE
158maketools: include/linux/version.h FORCE 158maketools: include/linux/version.h FORCE
diff --git a/arch/sh64/Makefile b/arch/sh64/Makefile
index 39073734a476..8ca57ffa2b70 100644
--- a/arch/sh64/Makefile
+++ b/arch/sh64/Makefile
@@ -73,7 +73,7 @@ compressed: zImage
73archclean: 73archclean:
74 $(Q)$(MAKE) $(clean)=$(boot) 74 $(Q)$(MAKE) $(clean)=$(boot)
75 75
76prepare: arch/$(ARCH)/lib/syscalltab.h 76archprepare: arch/$(ARCH)/lib/syscalltab.h
77 77
78define filechk_gen-syscalltab 78define filechk_gen-syscalltab
79 (set -e; \ 79 (set -e; \
diff --git a/arch/um/Makefile b/arch/um/Makefile
index 154803a22698..ce987266dac6 100644
--- a/arch/um/Makefile
+++ b/arch/um/Makefile
@@ -107,7 +107,7 @@ else
107$(shell cd $(ARCH_DIR) && ln -sf Kconfig.$(SUBARCH) Kconfig.arch) 107$(shell cd $(ARCH_DIR) && ln -sf Kconfig.$(SUBARCH) Kconfig.arch)
108endif 108endif
109 109
110prepare: $(ARCH_SYMLINKS) $(SYS_HEADERS) $(GEN_HEADERS) 110archprepare: $(ARCH_SYMLINKS) $(SYS_HEADERS) $(GEN_HEADERS)
111 111
112LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static 112LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static
113LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib 113LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib
diff --git a/arch/xtensa/Makefile b/arch/xtensa/Makefile
index 67ef4cd173b9..98fac8489aed 100644
--- a/arch/xtensa/Makefile
+++ b/arch/xtensa/Makefile
@@ -66,7 +66,7 @@ boot := arch/xtensa/boot
66 66
67archinc := include/asm-xtensa 67archinc := include/asm-xtensa
68 68
69prepare: $(archinc)/.platform 69archprepare: $(archinc)/.platform
70 70
71# Update machine cpu and platform symlinks if something which affects 71# Update machine cpu and platform symlinks if something which affects
72# them changed. 72# them changed.