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

TOMOYO Linux Cross Reference
Linux/scripts/kconfig/Makefile

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 /scripts/kconfig/Makefile (Version linux-6.12-rc7) and /scripts/kconfig/Makefile (Version policy-sample)


  1 # SPDX-License-Identifier: GPL-2.0                
  2 # ============================================    
  3 # Kernel configuration targets                    
  4 # These targets are used from top-level makefi    
  5                                                   
  6 ifdef KBUILD_KCONFIG                              
  7 Kconfig := $(KBUILD_KCONFIG)                      
  8 else                                              
  9 Kconfig := Kconfig                                
 10 endif                                             
 11                                                   
 12 ifndef KBUILD_DEFCONFIG                           
 13 KBUILD_DEFCONFIG := defconfig                     
 14 endif                                             
 15                                                   
 16 ifeq ($(quiet),silent_)                           
 17 silent := -s                                      
 18 endif                                             
 19                                                   
 20 export KCONFIG_DEFCONFIG_LIST :=                  
 21 ifndef cross_compiling                            
 22 kernel-release := $(shell uname -r)               
 23 KCONFIG_DEFCONFIG_LIST += \                       
 24         /lib/modules/$(kernel-release)/.config    
 25         /etc/kernel-config \                      
 26         /boot/config-$(kernel-release)            
 27 endif                                             
 28 KCONFIG_DEFCONFIG_LIST += arch/$(SRCARCH)/conf    
 29                                                   
 30 ifneq ($(findstring c, $(KBUILD_EXTRA_WARN)),)    
 31 export KCONFIG_WARN_UNKNOWN_SYMBOLS=1             
 32 endif                                             
 33                                                   
 34 ifneq ($(findstring e, $(KBUILD_EXTRA_WARN)),)    
 35 export KCONFIG_WERROR=1                           
 36 endif                                             
 37                                                   
 38 # We need this, in case the user has it in its    
 39 unexport CONFIG_                                  
 40                                                   
 41 config-prog     := conf                           
 42 menuconfig-prog := mconf                          
 43 nconfig-prog    := nconf                          
 44 gconfig-prog    := gconf                          
 45 xconfig-prog    := qconf                          
 46                                                   
 47 define config_rule                                
 48 PHONY += $(1)                                     
 49 $(1): $(obj)/$($(1)-prog)                         
 50         $(Q)$$< $(silent) $(Kconfig)              
 51                                                   
 52 PHONY += build_$(1)                               
 53 build_$(1): $(obj)/$($(1)-prog)                   
 54 endef                                             
 55                                                   
 56 $(foreach c, config menuconfig nconfig gconfig    
 57                                                   
 58 PHONY += localmodconfig localyesconfig            
 59 localyesconfig localmodconfig: $(obj)/conf        
 60         $(Q)$(PERL) $(src)/streamline_config.p    
 61         $(Q)if [ -f .config ]; then               
 62                 cmp -s .tmp.config .config ||     
 63                 (mv -f .config .config.old.1;     
 64                  mv -f .tmp.config .config;       
 65                  $< $(silent) --oldconfig $(Kc    
 66                  mv -f .config.old.1 .config.o    
 67         else                                      
 68                 mv -f .tmp.config .config;        
 69                 $< $(silent) --oldconfig $(Kco    
 70         fi                                        
 71         $(Q)rm -f .tmp.config                     
 72                                                   
 73 # These targets map 1:1 to the commandline opt    
 74 #                                                 
 75 # Note:                                           
 76 #  syncconfig has become an internal implement    
 77 #  deprecated for external use                    
 78 simple-targets := oldconfig allnoconfig allyes    
 79         alldefconfig randconfig listnewconfig     
 80         helpnewconfig yes2modconfig mod2yescon    
 81                                                   
 82 PHONY += $(simple-targets)                        
 83                                                   
 84 $(simple-targets): $(obj)/conf                    
 85         $(Q)$< $(silent) --$@ $(Kconfig)          
 86                                                   
 87 PHONY += savedefconfig defconfig                  
 88                                                   
 89 savedefconfig: $(obj)/conf                        
 90         $(Q)$< $(silent) --$@=defconfig $(Kcon    
 91                                                   
 92 defconfig: $(obj)/conf                            
 93 ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/c    
 94         @$(kecho) "*** Default configuration i    
 95         $(Q)$< $(silent) --defconfig=arch/$(SR    
 96 else                                              
 97         @$(kecho) "*** Default configuration i    
 98         $(Q)$(MAKE) -f $(srctree)/Makefile $(K    
 99 endif                                             
100                                                   
101 %_defconfig: $(obj)/conf                          
102         $(Q)$< $(silent) --defconfig=arch/$(SR    
103                                                   
104 configfiles = $(wildcard $(srctree)/kernel/con    
105 all-config-fragments = $(call configfiles,*.co    
106 config-fragments = $(call configfiles,$@)         
107                                                   
108 %.config: $(obj)/conf                             
109         $(if $(config-fragments),, $(error $@     
110         $(Q)$(CONFIG_SHELL) $(srctree)/scripts    
111         $(Q)$(MAKE) -f $(srctree)/Makefile old    
112                                                   
113 PHONY += tinyconfig                               
114 tinyconfig:                                       
115         $(Q)KCONFIG_ALLCONFIG=kernel/configs/t    
116         $(Q)$(MAKE) -f $(srctree)/Makefile tin    
117                                                   
118 # CHECK: -o cache_dir=<path> working?             
119 PHONY += testconfig                               
120 testconfig: $(obj)/conf                           
121         $(Q)$(PYTHON3) -B -m pytest $(src)/tes    
122         -o cache_dir=$(abspath $(obj)/tests/.c    
123         $(if $(findstring 1,$(KBUILD_VERBOSE))    
124 clean-files += tests/.cache                       
125                                                   
126 # Help text used by make help                     
127 help:                                             
128         @echo  'Configuration targets:'           
129         @echo  '  config          - Update cur    
130         @echo  '  nconfig         - Update cur    
131         @echo  '  menuconfig      - Update cur    
132         @echo  '  xconfig         - Update cur    
133         @echo  '  gconfig         - Update cur    
134         @echo  '  oldconfig       - Update cur    
135         @echo  '  localmodconfig  - Update cur    
136         @echo  '                    except tho    
137         @echo  '  localyesconfig  - Update cur    
138         @echo  '                    except tho    
139         @echo  '  defconfig       - New config    
140         @echo  '  savedefconfig   - Save curre    
141         @echo  '  allnoconfig     - New config    
142         @echo  '  allyesconfig    - New config    
143         @echo  '  allmodconfig    - New config    
144         @echo  '  alldefconfig    - New config    
145         @echo  '  randconfig      - New config    
146         @echo  '  yes2modconfig   - Change ans    
147         @echo  '  mod2yesconfig   - Change ans    
148         @echo  '  mod2noconfig    - Change ans    
149         @echo  '  listnewconfig   - List new o    
150         @echo  '  helpnewconfig   - List new o    
151         @echo  '  olddefconfig    - Same as ol    
152         @echo  '                    default va    
153         @echo  '  tinyconfig      - Configure     
154         @echo  '  testconfig      - Run Kconfi    
155         @echo  ''                                 
156         @echo  'Configuration topic targets:'     
157         @$(foreach f, $(all-config-fragments),    
158                 if help=$$(grep -m1 '^# Help:     
159                         printf '  %-25s - %s\n    
160                 fi;)                              
161                                                   
162 # ============================================    
163 # object files used by all kconfig flavours       
164 common-objs     := confdata.o expr.o lexer.lex    
165                    preprocess.o symbol.o util.    
166                                                   
167 $(obj)/lexer.lex.o: $(obj)/parser.tab.h           
168 HOSTCFLAGS_lexer.lex.o  := -I $(src)              
169 HOSTCFLAGS_parser.tab.o := -I $(src)              
170                                                   
171 # conf: Used for defconfig, oldconfig and rela    
172 hostprogs       += conf                           
173 conf-objs       := conf.o $(common-objs)          
174                                                   
175 # nconf: Used for the nconfig target based on     
176 hostprogs       += nconf                          
177 nconf-objs      := nconf.o nconf.gui.o mnconf-    
178                                                   
179 HOSTLDLIBS_nconf       = $(call read-file, $(o    
180 HOSTCFLAGS_nconf.o     = $(call read-file, $(o    
181 HOSTCFLAGS_nconf.gui.o = $(call read-file, $(o    
182                                                   
183 $(obj)/nconf: | $(obj)/nconf-libs                 
184 $(obj)/nconf.o $(obj)/nconf.gui.o: | $(obj)/nc    
185                                                   
186 # mconf: Used for the menuconfig target based     
187 hostprogs       += mconf                          
188 lxdialog        := $(addprefix lxdialog/, \       
189                      checklist.o inputbox.o me    
190 mconf-objs      := mconf.o $(lxdialog) mnconf-    
191                                                   
192 HOSTLDLIBS_mconf = $(call read-file, $(obj)/mc    
193 $(foreach f, mconf.o $(lxdialog), \               
194   $(eval HOSTCFLAGS_$f = $$(call read-file, $(    
195                                                   
196 $(obj)/mconf: | $(obj)/mconf-libs                 
197 $(addprefix $(obj)/, mconf.o $(lxdialog)): | $    
198                                                   
199 # qconf: Used for the xconfig target based on     
200 hostprogs       += qconf                          
201 qconf-cxxobjs   := qconf.o qconf-moc.o            
202 qconf-objs      := images.o $(common-objs)        
203                                                   
204 HOSTLDLIBS_qconf         = $(call read-file, $    
205 HOSTCXXFLAGS_qconf.o     = -std=c++11 -fPIC $(    
206 HOSTCXXFLAGS_qconf-moc.o = -std=c++11 -fPIC $(    
207 $(obj)/qconf: | $(obj)/qconf-libs                 
208 $(obj)/qconf.o $(obj)/qconf-moc.o: | $(obj)/qc    
209                                                   
210 quiet_cmd_moc = MOC     $@                        
211       cmd_moc = $(call read-file, $(obj)/qconf    
212                                                   
213 $(obj)/qconf-moc.cc: $(src)/qconf.h FORCE | $(    
214         $(call if_changed,moc)                    
215                                                   
216 targets += qconf-moc.cc                           
217                                                   
218 # gconf: Used for the gconfig target based on     
219 hostprogs       += gconf                          
220 gconf-objs      := gconf.o images.o $(common-o    
221                                                   
222 HOSTLDLIBS_gconf   = $(call read-file, $(obj)/    
223 HOSTCFLAGS_gconf.o = $(call read-file, $(obj)/    
224                                                   
225 $(obj)/gconf: | $(obj)/gconf-libs                 
226 $(obj)/gconf.o: | $(obj)/gconf-cflags             
227                                                   
228 # check if necessary packages are available, a    
229 cmd_conf_cfg = $< $(addprefix $(obj)/$*conf-,     
230                                                   
231 $(obj)/%conf-cflags $(obj)/%conf-libs $(obj)/%    
232         $(call cmd,conf_cfg)                      
233                                                   
234 clean-files += *conf-cflags *conf-libs *conf-b    
                                                      

~ [ 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