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

TOMOYO Linux Cross Reference
Linux/tools/perf/tests/make

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 /tools/perf/tests/make (Version linux-6.12-rc7) and /tools/perf/tests/make (Version linux-2.6.0)


  1 include ../scripts/Makefile.include               
  2                                                   
  3 ifndef MK                                         
  4 ifeq ($(MAKECMDGOALS),)                           
  5 # no target specified, trigger the whole suite    
  6 all:                                              
  7         @echo "Testing Makefile";      $(MAKE)    
  8         @echo "Testing Makefile.perf"; $(MAKE)    
  9 else                                              
 10 # run only specific test over 'Makefile'          
 11 %:                                                
 12         @echo "Testing Makefile";      $(MAKE)    
 13 endif                                             
 14 else                                              
 15 PERF := .                                         
 16 PERF_O := $(PERF)                                 
 17 O_OPT :=                                          
 18 FULL_O := $(shell readlink -f $(PERF_O) || ech    
 19                                                   
 20 ifneq ($(O),)                                     
 21   FULL_O := $(shell readlink -f $(O) || echo $    
 22   PERF_O := $(FULL_O)                             
 23   ifeq ($(SET_O),1)                               
 24     O_OPT := 'O=$(FULL_O)'                        
 25   endif                                           
 26   K_O_OPT := 'O=$(FULL_O)'                        
 27 endif                                             
 28                                                   
 29 PARALLEL_OPT=                                     
 30 ifeq ($(SET_PARALLEL),1)                          
 31   ifeq ($(JOBS),)                                 
 32     cores := $(shell (getconf _NPROCESSORS_ONL    
 33     ifeq ($(cores),0)                             
 34       cores := 1                                  
 35     endif                                         
 36   else                                            
 37     cores=$(JOBS)                                 
 38   endif                                           
 39   PARALLEL_OPT="-j$(cores)"                       
 40 endif                                             
 41                                                   
 42 # As per kernel Makefile, avoid funny characte    
 43 unexport LC_ALL                                   
 44 LC_COLLATE=C                                      
 45 LC_NUMERIC=C                                      
 46 export LC_COLLATE LC_NUMERIC                      
 47                                                   
 48 ifeq ($(srctree),)                                
 49 srctree := $(patsubst %/,%,$(dir $(CURDIR)))      
 50 srctree := $(patsubst %/,%,$(dir $(srctree)))     
 51 #$(info Determined 'srctree' to be $(srctree))    
 52 endif                                             
 53                                                   
 54 include $(srctree)/tools/scripts/Makefile.arch    
 55                                                   
 56 # FIXME looks like x86 is the only arch runnin    
 57 # we need some IS_(32/64) flag to make this ge    
 58 ifeq ($(ARCH)$(IS_64_BIT), x861)                  
 59 lib = lib64                                       
 60 else                                              
 61 lib = lib                                         
 62 endif                                             
 63                                                   
 64 has = $(shell which $1 2>/dev/null)               
 65 python_perf_so := $(shell $(MAKE) python_perf_    
 66                                                   
 67 # standard single make variable specified         
 68 make_clean_all      := clean all                  
 69 make_python_perf_so := $(python_perf_so)          
 70 make_debug          := DEBUG=1                    
 71 make_nondistro      := BUILD_NONDISTRO=1          
 72 make_extra_tests    := EXTRA_TESTS=1              
 73 make_jevents_all    := JEVENTS_ARCH=all           
 74 make_no_bpf_skel    := BUILD_BPF_SKEL=0           
 75 make_gen_vmlinux_h  := GEN_VMLINUX_H=1            
 76 make_no_libperl     := NO_LIBPERL=1               
 77 make_no_libpython   := NO_LIBPYTHON=1             
 78 make_no_scripts     := NO_LIBPYTHON=1 NO_LIBPE    
 79 make_no_slang       := NO_SLANG=1                 
 80 make_no_gtk2        := NO_GTK2=1                  
 81 make_no_ui          := NO_SLANG=1 NO_GTK2=1       
 82 make_no_demangle    := NO_DEMANGLE=1              
 83 make_no_libelf      := NO_LIBELF=1                
 84 make_no_libunwind   := NO_LIBUNWIND=1             
 85 make_no_libdw_dwarf_unwind := NO_LIBDW_DWARF_U    
 86 make_no_backtrace   := NO_BACKTRACE=1             
 87 make_no_libcapstone := NO_CAPSTONE=1              
 88 make_no_libnuma     := NO_LIBNUMA=1               
 89 make_no_libaudit    := NO_LIBAUDIT=1              
 90 make_no_libbionic   := NO_LIBBIONIC=1             
 91 make_no_auxtrace    := NO_AUXTRACE=1              
 92 make_no_libbpf      := NO_LIBBPF=1                
 93 make_libbpf_dynamic := LIBBPF_DYNAMIC=1           
 94 make_no_libbpf_DEBUG := NO_LIBBPF=1 DEBUG=1       
 95 make_no_libcrypto   := NO_LIBCRYPTO=1             
 96 make_no_libllvm     := NO_LIBLLVM=1               
 97 make_with_babeltrace:= LIBBABELTRACE=1            
 98 make_with_coresight := CORESIGHT=1                
 99 make_no_sdt         := NO_SDT=1                   
100 make_no_syscall_tbl := NO_SYSCALL_TABLE=1         
101 make_no_libpfm4     := NO_LIBPFM4=1               
102 make_with_gtk2      := GTK2=1                     
103 make_refcnt_check   := EXTRA_CFLAGS="-DREFCNT_    
104 make_tags           := tags                       
105 make_cscope         := cscope                     
106 make_help           := help                       
107 make_doc            := doc                        
108 make_perf_o           := perf.o                   
109 make_util_map_o       := util/map.o               
110 make_util_pmu_bison_o := util/pmu-bison.o         
111 make_install        := install                    
112 make_install_bin    := install-bin                
113 make_install_doc    := install-doc                
114 make_install_man    := install-man                
115 make_install_html   := install-html               
116 make_install_info   := install-info               
117 make_install_pdf    := install-pdf                
118 make_install_prefix       := install prefix=/t    
119 make_install_prefix_slash := install prefix=/t    
120 make_static         := LDFLAGS=-static NO_PERF    
121                                                   
122 # all the NO_* variable combined                  
123 make_minimal        := NO_LIBPERL=1 NO_LIBPYTH    
124 make_minimal        += NO_DEMANGLE=1 NO_LIBELF    
125 make_minimal        += NO_LIBNUMA=1 NO_LIBAUDI    
126 make_minimal        += NO_LIBDW_DWARF_UNWIND=1    
127 make_minimal        += NO_LIBCRYPTO=1 NO_SDT=1    
128 make_minimal        += NO_LIBCAP=1 NO_SYSCALL_    
129                                                   
130 # $(run) contains all available tests             
131 run := make_pure                                  
132 # Targets 'clean all' can be run together only    
133 # Makefile because we detect clean target in M    
134 # disable features detection                      
135 ifeq ($(MK),Makefile)                             
136 run += make_clean_all                             
137 MAKE_F := $(MAKE)                                 
138 else                                              
139 MAKE_F := $(MAKE) -f $(MK)                        
140 endif                                             
141 run += make_python_perf_so                        
142 run += make_debug                                 
143 run += make_nondistro                             
144 run += make_extra_tests                           
145 run += make_jevents_all                           
146 run += make_no_bpf_skel                           
147 run += make_gen_vmlinux_h                         
148 run += make_no_libperl                            
149 run += make_no_libpython                          
150 run += make_no_scripts                            
151 run += make_no_slang                              
152 run += make_no_gtk2                               
153 run += make_no_ui                                 
154 run += make_no_demangle                           
155 run += make_no_libelf                             
156 run += make_no_libunwind                          
157 run += make_no_libdw_dwarf_unwind                 
158 run += make_no_backtrace                          
159 run += make_no_libcapstone                        
160 run += make_no_libnuma                            
161 run += make_no_libaudit                           
162 run += make_no_libbionic                          
163 run += make_no_auxtrace                           
164 run += make_no_libbpf                             
165 run += make_no_libbpf_DEBUG                       
166 run += make_no_libcrypto                          
167 run += make_no_libllvm                            
168 run += make_no_sdt                                
169 run += make_no_syscall_tbl                        
170 run += make_with_babeltrace                       
171 run += make_with_coresight                        
172 run += make_with_clangllvm                        
173 run += make_no_libpfm4                            
174 run += make_refcnt_check                          
175 run += make_help                                  
176 run += make_doc                                   
177 run += make_perf_o                                
178 run += make_util_map_o                            
179 run += make_util_pmu_bison_o                      
180 run += make_install                               
181 run += make_install_bin                           
182 run += make_install_prefix                        
183 run += make_install_prefix_slash                  
184 # FIXME 'install-*' commented out till they're    
185 # run += make_install_doc                         
186 # run += make_install_man                         
187 # run += make_install_html                        
188 # run += make_install_info                        
189 # run += make_install_pdf                         
190 run += make_minimal                               
191                                                   
192 old_libbpf := $(shell echo '\#include <bpf/lib    
193                                                   
194 ifneq ($(old_libbpf),)                            
195 run += make_libbpf_dynamic                        
196 endif                                             
197                                                   
198 ifneq ($(call has,ctags),)                        
199 run += make_tags                                  
200 endif                                             
201 ifneq ($(call has,cscope),)                       
202 run += make_cscope                                
203 endif                                             
204                                                   
205 # $(run_O) contains same portion of $(run) tes    
206 # to distinguish O=... tests                      
207 run_O := $(addsuffix _O,$(run))                   
208                                                   
209 # disable some tests for O=...                    
210 run_O := $(filter-out make_python_perf_so_O,$(    
211                                                   
212 # define test for each compile as 'test_NAME'     
213 # with the test itself as a value                 
214 test_make_tags   = test -f tags                   
215 test_make_cscope = test -f cscope.out             
216                                                   
217 test_make_tags_O   := $(test_make_tags)           
218 test_make_cscope_O := $(test_make_cscope)         
219                                                   
220 test_ok          := true                          
221 test_make_help   := $(test_ok)                    
222 test_make_doc    := $(test_ok)                    
223 test_make_help_O := $(test_ok)                    
224 test_make_doc_O  := $(test_ok)                    
225                                                   
226 test_make_python_perf_so := test -f $(PERF_O)/    
227                                                   
228 test_make_perf_o           := test -f $(PERF_O    
229 test_make_util_map_o       := test -f $(PERF_O    
230 test_make_util_pmu_bison_o := test -f $(PERF_O    
231                                                   
232 define test_dest_files                            
233   for file in $(1); do                            
234     if [ ! -x $$TMP_DEST/$$file ]; then           
235       echo "  failed to find: $$file";            
236     fi                                            
237   done                                            
238 endef                                             
239                                                   
240 installed_files_bin := bin/perf                   
241 installed_files_bin += etc/bash_completion.d/p    
242 installed_files_bin += libexec/perf-core/perf-    
243                                                   
244 installed_files_all := $(installed_files_bin)     
245                                                   
246 test_make_install       := $(call test_dest_fi    
247 test_make_install_O     := $(call test_dest_fi    
248 test_make_install_bin   := $(call test_dest_fi    
249 test_make_install_bin_O := $(call test_dest_fi    
250                                                   
251 # We prefix all installed files for make_insta    
252 # with '/tmp/krava' to match installed/prefix-    
253 installed_files_all_prefix := $(addprefix /tmp    
254 test_make_install_prefix   :=  $(call test_des    
255 test_make_install_prefix_O :=  $(call test_des    
256                                                   
257 test_make_install_prefix_slash   := $(test_mak    
258 test_make_install_prefix_slash_O := $(test_mak    
259                                                   
260 # FIXME nothing gets installed                    
261 test_make_install_man    := test -f $$TMP_DEST    
262 test_make_install_man_O  := $(test_make_instal    
263                                                   
264 # FIXME nothing gets installed                    
265 test_make_install_doc    := $(test_ok)            
266 test_make_install_doc_O  := $(test_ok)            
267                                                   
268 # FIXME nothing gets installed                    
269 test_make_install_html   := $(test_ok)            
270 test_make_install_html_O := $(test_ok)            
271                                                   
272 # FIXME nothing gets installed                    
273 test_make_install_info   := $(test_ok)            
274 test_make_install_info_O := $(test_ok)            
275                                                   
276 # FIXME nothing gets installed                    
277 test_make_install_pdf    := $(test_ok)            
278 test_make_install_pdf_O  := $(test_ok)            
279                                                   
280 test_make_libbpf_dynamic :=   ldd $(PERF_O)/pe    
281 test_make_libbpf_dynamic_O := ldd $$TMP_O/perf    
282                                                   
283 test_make_python_perf_so_O    := test -f $$TMP    
284 test_make_perf_o_O            := test -f $$TMP    
285 test_make_util_map_o_O        := test -f $$TMP    
286 test_make_util_pmu_bison_o_O := test -f $$TMP_    
287                                                   
288 test_default = test -x $(PERF_O)/perf             
289 test = $(if $(test_$1),$(test_$1),$(test_defau    
290                                                   
291 test_default_O = test -x $$TMP_O/perf             
292 test_O = $(if $(test_$1),$(test_$1),$(test_def    
293                                                   
294 all:                                              
295                                                   
296 ifdef SHUF                                        
297 run := $(shell shuf -e $(run))                    
298 run_O := $(shell shuf -e $(run_O))                
299 endif                                             
300                                                   
301 max_width := $(shell echo $(run_O) | sed 's/ /    
302                                                   
303 ifdef DEBUG                                       
304 d := $(info run   $(run))                         
305 d := $(info run_O $(run_O))                       
306 endif                                             
307                                                   
308 MAKEFLAGS := --no-print-directory                 
309                                                   
310 clean := @(cd $(PERF); $(MAKE_F) -s $(O_OPT) c    
311                                                   
312 $(run):                                           
313         $(call clean)                             
314         @TMP_DEST=$$(mktemp -d); \                
315         cmd="cd $(PERF) && $(MAKE_F) $($@) $(P    
316         printf "%*.*s: %s\n" $(max_width) $(ma    
317         ( eval $$cmd ) >> $@ 2>&1; \              
318         echo "  test: $(call test,$@)" >> $@ 2    
319         $(call test,$@) && \                      
320         rm -rf $@ $$TMP_DEST || (cat $@ ; fals    
321                                                   
322 make_with_gtk2:                                   
323         $(call clean)                             
324         @TMP_DEST=$$(mktemp -d); \                
325         cmd="cd $(PERF) && $(MAKE_F) $($@) $(P    
326         printf "%*.*s: %s\n" $(max_width) $(ma    
327         ( eval $$cmd ) >> $@ 2>&1; \              
328         echo "  test: $(call test,$@)" >> $@ 2    
329         $(call test,$@) && \                      
330         rm -rf $@ $$TMP_DEST || (cat $@ ; fals    
331                                                   
332 make_static:                                      
333         $(call clean)                             
334         @TMP_DEST=$$(mktemp -d); \                
335         cmd="cd $(PERF) && $(MAKE_F) $($@) $(P    
336         printf "%*.*s: %s\n" $(max_width) $(ma    
337         ( eval $$cmd ) >> $@ 2>&1; \              
338         echo "  test: $(call test,$@)" >> $@ 2    
339         $(call test,$@) && \                      
340         rm -rf $@ $$TMP_DEST || (cat $@ ; fals    
341                                                   
342 $(run_O):                                         
343         $(call clean)                             
344         @TMP_O=$$(mktemp -d); \                   
345         TMP_DEST=$$(mktemp -d); \                 
346         cmd="cd $(PERF) && $(MAKE_F) $($(patsu    
347         printf "%*.*s: %s\n" $(max_width) $(ma    
348         ( eval $$cmd ) >> $@ 2>&1 && \            
349         echo "  test: $(call test_O,$@)" >> $@    
350         $(call test_O,$@) && \                    
351         rm -rf $@ $$TMP_O $$TMP_DEST || (cat $    
352                                                   
353 tarpkg:                                           
354         @cmd="$(PERF)/tests/perf-targz-src-pkg    
355         echo "- $@: $$cmd" && echo $$cmd > $@     
356         ( eval $$cmd ) >> $@ 2>&1 && \            
357         rm -f $@                                  
358                                                   
359 KERNEL_O := ../..                                 
360 ifneq ($(O),)                                     
361   KERNEL_O := $(O)                                
362 endif                                             
363                                                   
364 make_kernelsrc:                                   
365         @echo "- make -C <kernelsrc> $(PARALLE    
366         $(call clean); \                          
367         (make -C ../.. $(PARALLEL_OPT) $(K_O_O    
368         test -x $(KERNEL_O)/tools/perf/perf &&    
369                                                   
370 make_kernelsrc_tools:                             
371         @echo "- make -C <kernelsrc>/tools $(P    
372         $(call clean); \                          
373         (make -C ../../tools $(PARALLEL_OPT) $    
374         test -x $(KERNEL_O)/tools/perf/perf &&    
375                                                   
376 make_libperf:                                     
377         @echo "- make -C lib";                    
378         make -C lib clean >$@ 2>&1; make -C li    
379                                                   
380 FEATURES_DUMP_FILE := $(FULL_O)/BUILD_TEST_FEA    
381 FEATURES_DUMP_FILE_STATIC := $(FULL_O)/BUILD_T    
382                                                   
383 all: $(run) $(run_O) tarpkg make_kernelsrc mak    
384         @echo OK                                  
385         @rm -f $(FEATURES_DUMP_FILE) $(FEATURE    
386                                                   
387 out: $(run_O)                                     
388         @echo OK                                  
389         @rm -f $(FEATURES_DUMP_FILE) $(FEATURE    
390                                                   
391 ifeq ($(REUSE_FEATURES_DUMP),1)                   
392 $(FEATURES_DUMP_FILE):                            
393         $(call clean)                             
394         @cmd="cd $(PERF) && make FEATURE_DUMP_    
395         echo "- $@: $$cmd" && echo $$cmd && \     
396         ( eval $$cmd ) > /dev/null 2>&1           
397                                                   
398 $(FEATURES_DUMP_FILE_STATIC):                     
399         $(call clean)                             
400         @cmd="cd $(PERF) && make FEATURE_DUMP_    
401         echo "- $@: $$cmd" && echo $$cmd && \     
402         ( eval $$cmd ) > /dev/null 2>&1           
403                                                   
404 # Add feature dump dependency for run/run_O ta    
405 $(foreach t,$(run) $(run_O),$(eval \              
406         $(t): $(if $(findstring make_static,$(    
407                 $(FEATURES_DUMP_FILE_STATIC),\    
408                 $(FEATURES_DUMP_FILE))))          
409                                                   
410 # Append 'FEATURES_DUMP=' option to all test c    
411 # make_no_libbpf: NO_LIBBPF=1  --> NO_LIBBPF=1    
412 # make_static: LDFLAGS=-static --> LDFLAGS=-st    
413 $(foreach t,$(run),$(if $(findstring make_stat    
414                         $(eval $(t) := $($(t))    
415                         $(eval $(t) := $($(t))    
416 endif                                             
417                                                   
418 .PHONY: all $(run) $(run_O) tarpkg clean make_    
419 endif # ifndef MK                                 
                                                      

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