aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/kbuild
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/kbuild')
-rw-r--r--Documentation/kbuild/makefiles.txt28
1 files changed, 14 insertions, 14 deletions
diff --git a/Documentation/kbuild/makefiles.txt b/Documentation/kbuild/makefiles.txt
index 4b3d6710c504..bb5306e9a5c3 100644
--- a/Documentation/kbuild/makefiles.txt
+++ b/Documentation/kbuild/makefiles.txt
@@ -34,7 +34,7 @@ This document describes the Linux kernel Makefiles.
34 --- 6.1 Set variables to tweak the build to the architecture 34 --- 6.1 Set variables to tweak the build to the architecture
35 --- 6.2 Add prerequisites to archprepare: 35 --- 6.2 Add prerequisites to archprepare:
36 --- 6.3 List directories to visit when descending 36 --- 6.3 List directories to visit when descending
37 --- 6.4 Architecture specific boot images 37 --- 6.4 Architecture-specific boot images
38 --- 6.5 Building non-kbuild targets 38 --- 6.5 Building non-kbuild targets
39 --- 6.6 Commands useful for building a boot image 39 --- 6.6 Commands useful for building a boot image
40 --- 6.7 Custom kbuild commands 40 --- 6.7 Custom kbuild commands
@@ -124,7 +124,7 @@ more details, with real examples.
124 Example: 124 Example:
125 obj-y += foo.o 125 obj-y += foo.o
126 126
127 This tell kbuild that there is one object in that directory, named 127 This tells kbuild that there is one object in that directory, named
128 foo.o. foo.o will be built from foo.c or foo.S. 128 foo.o. foo.o will be built from foo.c or foo.S.
129 129
130 If foo.o shall be built as a module, the variable obj-m is used. 130 If foo.o shall be built as a module, the variable obj-m is used.
@@ -353,7 +353,7 @@ more details, with real examples.
353 Special rules are used when the kbuild infrastructure does 353 Special rules are used when the kbuild infrastructure does
354 not provide the required support. A typical example is 354 not provide the required support. A typical example is
355 header files generated during the build process. 355 header files generated during the build process.
356 Another example are the architecture specific Makefiles which 356 Another example are the architecture-specific Makefiles which
357 need special rules to prepare boot images etc. 357 need special rules to prepare boot images etc.
358 358
359 Special rules are written as normal Make rules. 359 Special rules are written as normal Make rules.
@@ -416,7 +416,7 @@ more details, with real examples.
416 #arch/i386/kernel/Makefile 416 #arch/i386/kernel/Makefile
417 vsyscall-flags += $(call ld-option, -Wl$(comma)--hash-style=sysv) 417 vsyscall-flags += $(call ld-option, -Wl$(comma)--hash-style=sysv)
418 418
419 In the above example vsyscall-flags will be assigned the option 419 In the above example, vsyscall-flags will be assigned the option
420 -Wl$(comma)--hash-style=sysv if it is supported by $(CC). 420 -Wl$(comma)--hash-style=sysv if it is supported by $(CC).
421 The second argument is optional, and if supplied will be used 421 The second argument is optional, and if supplied will be used
422 if first argument is not supported. 422 if first argument is not supported.
@@ -434,7 +434,7 @@ more details, with real examples.
434 #arch/i386/Makefile 434 #arch/i386/Makefile
435 cflags-y += $(call cc-option,-march=pentium-mmx,-march=i586) 435 cflags-y += $(call cc-option,-march=pentium-mmx,-march=i586)
436 436
437 In the above example cflags-y will be assigned the option 437 In the above example, cflags-y will be assigned the option
438 -march=pentium-mmx if supported by $(CC), otherwise -march=i586. 438 -march=pentium-mmx if supported by $(CC), otherwise -march=i586.
439 The second argument to cc-option is optional, and if omitted, 439 The second argument to cc-option is optional, and if omitted,
440 cflags-y will be assigned no value if first option is not supported. 440 cflags-y will be assigned no value if first option is not supported.
@@ -750,10 +750,10 @@ When kbuild executes, the following steps are followed (roughly):
750 located at the root of the obj tree. 750 located at the root of the obj tree.
751 The very first objects linked are listed in head-y, assigned by 751 The very first objects linked are listed in head-y, assigned by
752 arch/$(ARCH)/Makefile. 752 arch/$(ARCH)/Makefile.
7537) Finally, the architecture specific part does any required post processing 7537) Finally, the architecture-specific part does any required post processing
754 and builds the final bootimage. 754 and builds the final bootimage.
755 - This includes building boot records 755 - This includes building boot records
756 - Preparing initrd images and thelike 756 - Preparing initrd images and the like
757 757
758 758
759--- 6.1 Set variables to tweak the build to the architecture 759--- 6.1 Set variables to tweak the build to the architecture
@@ -880,7 +880,7 @@ When kbuild executes, the following steps are followed (roughly):
880 880
881 $(head-y) lists objects to be linked first in vmlinux. 881 $(head-y) lists objects to be linked first in vmlinux.
882 $(libs-y) lists directories where a lib.a archive can be located. 882 $(libs-y) lists directories where a lib.a archive can be located.
883 The rest lists directories where a built-in.o object file can be 883 The rest list directories where a built-in.o object file can be
884 located. 884 located.
885 885
886 $(init-y) objects will be located after $(head-y). 886 $(init-y) objects will be located after $(head-y).
@@ -888,7 +888,7 @@ When kbuild executes, the following steps are followed (roughly):
888 $(core-y), $(libs-y), $(drivers-y) and $(net-y). 888 $(core-y), $(libs-y), $(drivers-y) and $(net-y).
889 889
890 The top level Makefile defines values for all generic directories, 890 The top level Makefile defines values for all generic directories,
891 and arch/$(ARCH)/Makefile only adds architecture specific directories. 891 and arch/$(ARCH)/Makefile only adds architecture-specific directories.
892 892
893 Example: 893 Example:
894 #arch/sparc64/Makefile 894 #arch/sparc64/Makefile
@@ -897,7 +897,7 @@ When kbuild executes, the following steps are followed (roughly):
897 drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/ 897 drivers-$(CONFIG_OPROFILE) += arch/sparc64/oprofile/
898 898
899 899
900--- 6.4 Architecture specific boot images 900--- 6.4 Architecture-specific boot images
901 901
902 An arch Makefile specifies goals that take the vmlinux file, compress 902 An arch Makefile specifies goals that take the vmlinux file, compress
903 it, wrap it in bootstrapping code, and copy the resulting files 903 it, wrap it in bootstrapping code, and copy the resulting files
@@ -924,7 +924,7 @@ When kbuild executes, the following steps are followed (roughly):
924 "$(Q)$(MAKE) $(build)=<dir>" is the recommended way to invoke 924 "$(Q)$(MAKE) $(build)=<dir>" is the recommended way to invoke
925 make in a subdirectory. 925 make in a subdirectory.
926 926
927 There are no rules for naming architecture specific targets, 927 There are no rules for naming architecture-specific targets,
928 but executing "make help" will list all relevant targets. 928 but executing "make help" will list all relevant targets.
929 To support this, $(archhelp) must be defined. 929 To support this, $(archhelp) must be defined.
930 930
@@ -982,7 +982,7 @@ When kbuild executes, the following steps are followed (roughly):
982 $(call if_changed,ld/objcopy/gzip) 982 $(call if_changed,ld/objcopy/gzip)
983 983
984 When the rule is evaluated, it is checked to see if any files 984 When the rule is evaluated, it is checked to see if any files
985 needs an update, or the command line has changed since the last 985 need an update, or the command line has changed since the last
986 invocation. The latter will force a rebuild if any options 986 invocation. The latter will force a rebuild if any options
987 to the executable have changed. 987 to the executable have changed.
988 Any target that utilises if_changed must be listed in $(targets), 988 Any target that utilises if_changed must be listed in $(targets),
@@ -1089,7 +1089,7 @@ When kbuild executes, the following steps are followed (roughly):
1089 assignment. 1089 assignment.
1090 1090
1091 The kbuild infrastructure for *lds file are used in several 1091 The kbuild infrastructure for *lds file are used in several
1092 architecture specific files. 1092 architecture-specific files.
1093 1093
1094 1094
1095=== 7 Kbuild Variables 1095=== 7 Kbuild Variables
@@ -1133,7 +1133,7 @@ The top Makefile exports the following variables:
1133 1133
1134 This variable defines a place for the arch Makefiles to install 1134 This variable defines a place for the arch Makefiles to install
1135 the resident kernel image and System.map file. 1135 the resident kernel image and System.map file.
1136 Use this for architecture specific install targets. 1136 Use this for architecture-specific install targets.
1137 1137
1138 INSTALL_MOD_PATH, MODLIB 1138 INSTALL_MOD_PATH, MODLIB
1139 1139