blob: 0d8addbb0fae766616e4725ef1ce90e2327b8b46 [file] [log] [blame]
Michal Marekbc081dd2009-12-07 16:38:33 +01001Output files
2
3modules.order
4--------------------------------------------------
5This file records the order in which modules appear in Makefiles. This
6is used by modprobe to deterministically resolve aliases that match
7multiple modules.
8
9modules.builtin
10--------------------------------------------------
11This file lists all modules that are built into the kernel. This is used
12by modprobe to not fail when trying to load something builtin.
13
14
Sam Ravnborgacc08b52008-12-29 13:45:52 +010015Environment variables
16
17KCPPFLAGS
18--------------------------------------------------
19Additional options to pass when preprocessing. The preprocessing options
Randy Dunlapdf291fa2009-01-08 10:59:34 -080020will be used in all cases where kbuild does preprocessing including
Sam Ravnborgacc08b52008-12-29 13:45:52 +010021building C files and assembler files.
22
23KAFLAGS
24--------------------------------------------------
25Additional options to the assembler.
26
27KCFLAGS
28--------------------------------------------------
29Additional options to the C compiler.
30
31KBUILD_VERBOSE
32--------------------------------------------------
Randy Dunlapdf291fa2009-01-08 10:59:34 -080033Set the kbuild verbosity. Can be assigned same values as "V=...".
Sam Ravnborgacc08b52008-12-29 13:45:52 +010034See make help for the full list.
35Setting "V=..." takes precedence over KBUILD_VERBOSE.
36
37KBUILD_EXTMOD
38--------------------------------------------------
39Set the directory to look for the kernel source when building external
40modules.
41The directory can be specified in several ways:
421) Use "M=..." on the command line
Nicolas Kaiserc95940f2010-08-05 11:23:11 -0700432) Environment variable KBUILD_EXTMOD
443) Environment variable SUBDIRS
Sam Ravnborgacc08b52008-12-29 13:45:52 +010045The possibilities are listed in the order they take precedence.
46Using "M=..." will always override the others.
47
48KBUILD_OUTPUT
49--------------------------------------------------
50Specify the output directory when building the kernel.
Nicolas Kaiserc95940f2010-08-05 11:23:11 -070051The output directory can also be specified using "O=...".
Randy Dunlapdf291fa2009-01-08 10:59:34 -080052Setting "O=..." takes precedence over KBUILD_OUTPUT.
Sam Ravnborgacc08b52008-12-29 13:45:52 +010053
54ARCH
55--------------------------------------------------
56Set ARCH to the architecture to be built.
57In most cases the name of the architecture is the same as the
58directory name found in the arch/ directory.
Randy Dunlapdf291fa2009-01-08 10:59:34 -080059But some architectures such as x86 and sparc have aliases.
Sam Ravnborgacc08b52008-12-29 13:45:52 +010060x86: i386 for 32 bit, x86_64 for 64 bit
61sparc: sparc for 32 bit, sparc64 for 64 bit
62
63CROSS_COMPILE
64--------------------------------------------------
65Specify an optional fixed part of the binutils filename.
66CROSS_COMPILE can be a part of the filename or the full path.
67
Kirill Smelkove8d400a2010-02-17 11:45:33 +030068CROSS_COMPILE is also used for ccache in some setups.
Sam Ravnborgacc08b52008-12-29 13:45:52 +010069
70CF
71--------------------------------------------------
72Additional options for sparse.
73CF is often used on the command-line like this:
74
75 make CF=-Wbitwise C=2
76
77INSTALL_PATH
78--------------------------------------------------
79INSTALL_PATH specifies where to place the updated kernel and system map
Randy Dunlapdf291fa2009-01-08 10:59:34 -080080images. Default is /boot, but you can set it to other values.
Sam Ravnborgacc08b52008-12-29 13:45:52 +010081
Sam Ravnborgcaa27b62009-07-20 21:37:11 +020082INSTALLKERNEL
83--------------------------------------------------
84Install script called when using "make install".
85The default name is "installkernel".
86
87The script will be called with the following arguments:
88 $1 - kernel version
89 $2 - kernel image file
90 $3 - kernel map file
91 $4 - default install path (use root directory if blank)
92
Nicolas Kaiserc95940f2010-08-05 11:23:11 -070093The implementation of "make install" is architecture specific
Sam Ravnborgcaa27b62009-07-20 21:37:11 +020094and it may differ from the above.
95
96INSTALLKERNEL is provided to enable the possibility to
97specify a custom installer when cross compiling a kernel.
Sam Ravnborgacc08b52008-12-29 13:45:52 +010098
99MODLIB
100--------------------------------------------------
101Specify where to install modules.
102The default value is:
103
104 $(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)
105
106The value can be overridden in which case the default value is ignored.
107
108INSTALL_MOD_PATH
109--------------------------------------------------
110INSTALL_MOD_PATH specifies a prefix to MODLIB for module directory
111relocations required by build roots. This is not defined in the
112makefile but the argument can be passed to make if needed.
113
114INSTALL_MOD_STRIP
115--------------------------------------------------
116INSTALL_MOD_STRIP, if defined, will cause modules to be
117stripped after they are installed. If INSTALL_MOD_STRIP is '1', then
118the default option --strip-debug will be used. Otherwise,
119INSTALL_MOD_STRIP will used as the options to the strip command.
120
121INSTALL_FW_PATH
122--------------------------------------------------
Randy Dunlapdf291fa2009-01-08 10:59:34 -0800123INSTALL_FW_PATH specifies where to install the firmware blobs.
Sam Ravnborgacc08b52008-12-29 13:45:52 +0100124The default value is:
125
126 $(INSTALL_MOD_PATH)/lib/firmware
127
128The value can be overridden in which case the default value is ignored.
129
130INSTALL_HDR_PATH
131--------------------------------------------------
Randy Dunlapdf291fa2009-01-08 10:59:34 -0800132INSTALL_HDR_PATH specifies where to install user space headers when
Sam Ravnborgacc08b52008-12-29 13:45:52 +0100133executing "make headers_*".
134The default value is:
135
136 $(objtree)/usr
137
138$(objtree) is the directory where output files are saved.
139The output directory is often set using "O=..." on the commandline.
140
141The value can be overridden in which case the default value is ignored.
142
143KBUILD_MODPOST_WARN
144--------------------------------------------------
Randy Dunlapdf291fa2009-01-08 10:59:34 -0800145KBUILD_MODPOST_WARN can be set to avoid errors in case of undefined
146symbols in the final module linking stage. It changes such errors
147into warnings.
Sam Ravnborgacc08b52008-12-29 13:45:52 +0100148
Randy Dunlapdf291fa2009-01-08 10:59:34 -0800149KBUILD_MODPOST_NOFINAL
Sam Ravnborgacc08b52008-12-29 13:45:52 +0100150--------------------------------------------------
151KBUILD_MODPOST_NOFINAL can be set to skip the final link of modules.
Randy Dunlapdf291fa2009-01-08 10:59:34 -0800152This is solely useful to speed up test compiles.
Sam Ravnborgacc08b52008-12-29 13:45:52 +0100153
154KBUILD_EXTRA_SYMBOLS
155--------------------------------------------------
Randy Dunlapdf291fa2009-01-08 10:59:34 -0800156For modules that use symbols from other modules.
Sam Ravnborgacc08b52008-12-29 13:45:52 +0100157See more details in modules.txt.
Jike Song4f628242009-01-05 14:57:03 +0800158
159ALLSOURCE_ARCHS
160--------------------------------------------------
Randy Dunlapdf291fa2009-01-08 10:59:34 -0800161For tags/TAGS/cscope targets, you can specify more than one arch
162to be included in the databases, separated by blank space. E.g.:
Jike Song4f628242009-01-05 14:57:03 +0800163
164 $ make ALLSOURCE_ARCHS="x86 mips arm" tags
John Kacurbc75cc62010-03-02 16:57:52 +0100165
166To get all available archs you can also specify all. E.g.:
167
168 $ make ALLSOURCE_ARCHS=all tags