~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/kbuild/kbuild.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/kbuild/kbuild.rst (Version linux-6.12-rc7) and /Documentation/kbuild/kbuild.rst (Version unix-v6-master)


  1 ======                                            
  2 Kbuild                                            
  3 ======                                            
  4                                                   
  5                                                   
  6 Output files                                      
  7 ============                                      
  8                                                   
  9 modules.order                                     
 10 -------------                                     
 11 This file records the order in which modules a    
 12 is used by modprobe to deterministically resol    
 13 multiple modules.                                 
 14                                                   
 15 modules.builtin                                   
 16 ---------------                                   
 17 This file lists all modules that are built int    
 18 by modprobe to not fail when trying to load so    
 19                                                   
 20 modules.builtin.modinfo                           
 21 -----------------------                           
 22 This file contains modinfo from all modules th    
 23 Unlike modinfo of a separate module, all field    
 24                                                   
 25 modules.builtin.ranges                            
 26 ----------------------                            
 27 This file contains address offset ranges (per     
 28 that are built into the kernel. Together with     
 29 to associate module names with symbols.           
 30                                                   
 31 Environment variables                             
 32 =====================                             
 33                                                   
 34 KCPPFLAGS                                         
 35 ---------                                         
 36 Additional options to pass when preprocessing.    
 37 will be used in all cases where kbuild does pr    
 38 building C files and assembler files.             
 39                                                   
 40 KAFLAGS                                           
 41 -------                                           
 42 Additional options to the assembler (for built    
 43                                                   
 44 AFLAGS_MODULE                                     
 45 -------------                                     
 46 Additional assembler options for modules.         
 47                                                   
 48 AFLAGS_KERNEL                                     
 49 -------------                                     
 50 Additional assembler options for built-in.        
 51                                                   
 52 KCFLAGS                                           
 53 -------                                           
 54 Additional options to the C compiler (for buil    
 55                                                   
 56 KRUSTFLAGS                                        
 57 ----------                                        
 58 Additional options to the Rust compiler (for b    
 59                                                   
 60 CFLAGS_KERNEL                                     
 61 -------------                                     
 62 Additional options for $(CC) when used to comp    
 63 code that is compiled as built-in.                
 64                                                   
 65 CFLAGS_MODULE                                     
 66 -------------                                     
 67 Additional module specific options to use for     
 68                                                   
 69 RUSTFLAGS_KERNEL                                  
 70 ----------------                                  
 71 Additional options for $(RUSTC) when used to c    
 72 code that is compiled as built-in.                
 73                                                   
 74 RUSTFLAGS_MODULE                                  
 75 ----------------                                  
 76 Additional module specific options to use for     
 77                                                   
 78 LDFLAGS_MODULE                                    
 79 --------------                                    
 80 Additional options used for $(LD) when linking    
 81                                                   
 82 HOSTCFLAGS                                        
 83 ----------                                        
 84 Additional flags to be passed to $(HOSTCC) whe    
 85                                                   
 86 HOSTCXXFLAGS                                      
 87 ------------                                      
 88 Additional flags to be passed to $(HOSTCXX) wh    
 89                                                   
 90 HOSTRUSTFLAGS                                     
 91 -------------                                     
 92 Additional flags to be passed to $(HOSTRUSTC)     
 93                                                   
 94 HOSTLDFLAGS                                       
 95 -----------                                       
 96 Additional flags to be passed when linking hos    
 97                                                   
 98 HOSTLDLIBS                                        
 99 ----------                                        
100 Additional libraries to link against when buil    
101                                                   
102 .. _userkbuildflags:                              
103                                                   
104 USERCFLAGS                                        
105 ----------                                        
106 Additional options used for $(CC) when compili    
107                                                   
108 USERLDFLAGS                                       
109 -----------                                       
110 Additional options used for $(LD) when linking    
111 with CC, so $(USERLDFLAGS) should include "-Wl    
112                                                   
113 KBUILD_KCONFIG                                    
114 --------------                                    
115 Set the top-level Kconfig file to the value of    
116 variable.  The default name is "Kconfig".         
117                                                   
118 KBUILD_VERBOSE                                    
119 --------------                                    
120 Set the kbuild verbosity. Can be assigned same    
121                                                   
122 See make help for the full list.                  
123                                                   
124 Setting "V=..." takes precedence over KBUILD_V    
125                                                   
126 KBUILD_EXTMOD                                     
127 -------------                                     
128 Set the directory to look for the kernel sourc    
129 modules.                                          
130                                                   
131 Setting "M=..." takes precedence over KBUILD_E    
132                                                   
133 KBUILD_OUTPUT                                     
134 -------------                                     
135 Specify the output directory when building the    
136                                                   
137 This variable can also be used to point to the    
138 building external modules against a pre-built     
139 directory. Please note that this does NOT spec    
140 external modules themselves.                      
141                                                   
142 The output directory can also be specified usi    
143                                                   
144 Setting "O=..." takes precedence over KBUILD_O    
145                                                   
146 KBUILD_EXTRA_WARN                                 
147 -----------------                                 
148 Specify the extra build checks. The same value    
149 W=... from the command line.                      
150                                                   
151 See `make help` for the list of the supported     
152                                                   
153 Setting "W=..." takes precedence over KBUILD_E    
154                                                   
155 KBUILD_DEBARCH                                    
156 --------------                                    
157 For the deb-pkg target, allows overriding the     
158 deb-pkg. Normally deb-pkg attempts to guess th    
159 the UTS_MACHINE variable, and on some architec    
160 The value of KBUILD_DEBARCH is assumed (not ch    
161 architecture.                                     
162                                                   
163 KDOCFLAGS                                         
164 ---------                                         
165 Specify extra (warning/error) flags for kernel    
166 see scripts/kernel-doc for which flags are sup    
167 (currently) apply to documentation builds.        
168                                                   
169 ARCH                                              
170 ----                                              
171 Set ARCH to the architecture to be built.         
172                                                   
173 In most cases the name of the architecture is     
174 directory name found in the arch/ directory.      
175                                                   
176 But some architectures such as x86 and sparc h    
177                                                   
178 - x86: i386 for 32 bit, x86_64 for 64 bit         
179 - parisc: parisc64 for 64 bit                     
180 - sparc: sparc32 for 32 bit, sparc64 for 64 bi    
181                                                   
182 CROSS_COMPILE                                     
183 -------------                                     
184 Specify an optional fixed part of the binutils    
185 CROSS_COMPILE can be a part of the filename or    
186                                                   
187 CROSS_COMPILE is also used for ccache in some     
188                                                   
189 CF                                                
190 --                                                
191 Additional options for sparse.                    
192                                                   
193 CF is often used on the command-line like this    
194                                                   
195     make CF=-Wbitwise C=2                         
196                                                   
197 INSTALL_PATH                                      
198 ------------                                      
199 INSTALL_PATH specifies where to place the upda    
200 images. Default is /boot, but you can set it t    
201                                                   
202 INSTALLKERNEL                                     
203 -------------                                     
204 Install script called when using "make install    
205 The default name is "installkernel".              
206                                                   
207 The script will be called with the following a    
208                                                   
209    - $1 - kernel version                          
210    - $2 - kernel image file                       
211    - $3 - kernel map file                         
212    - $4 - default install path (use root direc    
213                                                   
214 The implementation of "make install" is archit    
215 and it may differ from the above.                 
216                                                   
217 INSTALLKERNEL is provided to enable the possib    
218 specify a custom installer when cross compilin    
219                                                   
220 MODLIB                                            
221 ------                                            
222 Specify where to install modules.                 
223 The default value is::                            
224                                                   
225      $(INSTALL_MOD_PATH)/lib/modules/$(KERNELR    
226                                                   
227 The value can be overridden in which case the     
228                                                   
229 INSTALL_MOD_PATH                                  
230 ----------------                                  
231 INSTALL_MOD_PATH specifies a prefix to MODLIB     
232 relocations required by build roots.  This is     
233 makefile but the argument can be passed to mak    
234                                                   
235 INSTALL_MOD_STRIP                                 
236 -----------------                                 
237 INSTALL_MOD_STRIP, if defined, will cause modu    
238 stripped after they are installed.  If INSTALL    
239 the default option --strip-debug will be used.    
240 INSTALL_MOD_STRIP value will be used as the op    
241                                                   
242 INSTALL_HDR_PATH                                  
243 ----------------                                  
244 INSTALL_HDR_PATH specifies where to install us    
245 executing "make headers_*".                       
246                                                   
247 The default value is::                            
248                                                   
249     $(objtree)/usr                                
250                                                   
251 $(objtree) is the directory where output files    
252 The output directory is often set using "O=...    
253                                                   
254 The value can be overridden in which case the     
255                                                   
256 INSTALL_DTBS_PATH                                 
257 -----------------                                 
258 INSTALL_DTBS_PATH specifies where to install d    
259 relocations required by build roots.  This is     
260 makefile but the argument can be passed to mak    
261                                                   
262 KBUILD_ABS_SRCTREE                                
263 ----------------------------------------------    
264 Kbuild uses a relative path to point to the tr    
265 when building in the source tree, the source t    
266                                                   
267 Setting this flag requests Kbuild to use absol    
268 There are some useful cases to do so, like whe    
269 absolute path entries etc.                        
270                                                   
271 KBUILD_SIGN_PIN                                   
272 ---------------                                   
273 This variable allows a passphrase or PIN to be    
274 utility when signing kernel modules, if the pr    
275                                                   
276 KBUILD_MODPOST_WARN                               
277 -------------------                               
278 KBUILD_MODPOST_WARN can be set to avoid errors    
279 symbols in the final module linking stage. It     
280 into warnings.                                    
281                                                   
282 KBUILD_MODPOST_NOFINAL                            
283 ----------------------                            
284 KBUILD_MODPOST_NOFINAL can be set to skip the     
285 This is solely useful to speed up test compile    
286                                                   
287 KBUILD_EXTRA_SYMBOLS                              
288 --------------------                              
289 For modules that use symbols from other module    
290 See more details in modules.rst.                  
291                                                   
292 ALLSOURCE_ARCHS                                   
293 ---------------                                   
294 For tags/TAGS/cscope targets, you can specify     
295 to be included in the databases, separated by     
296                                                   
297     $ make ALLSOURCE_ARCHS="x86 mips arm" tags    
298                                                   
299 To get all available archs you can also specif    
300                                                   
301     $ make ALLSOURCE_ARCHS=all tags               
302                                                   
303 IGNORE_DIRS                                       
304 -----------                                       
305 For tags/TAGS/cscope targets, you can choose w    
306 be included in the databases, separated by bla    
307                                                   
308     $ make IGNORE_DIRS="drivers/gpu/drm/radeon    
309                                                   
310 KBUILD_BUILD_TIMESTAMP                            
311 ----------------------                            
312 Setting this to a date string overrides the ti    
313 UTS_VERSION definition (uname -v in the runnin    
314 be a string that can be passed to date -d. The    
315 is the output of the date command at one point    
316                                                   
317 KBUILD_BUILD_USER, KBUILD_BUILD_HOST              
318 ------------------------------------              
319 These two variables allow to override the user    
320 boot and in /proc/version. The default value i    
321 whoami and host, respectively.                    
322                                                   
323 LLVM                                              
324 ----                                              
325 If this variable is set to 1, Kbuild will use     
326 of GCC and GNU binutils to build the kernel.      
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php