aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/config/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'tools/perf/config/Makefile')
-rw-r--r--tools/perf/config/Makefile42
1 files changed, 33 insertions, 9 deletions
diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
index 581a94211fea..fb6ec069f541 100644
--- a/tools/perf/config/Makefile
+++ b/tools/perf/config/Makefile
@@ -102,8 +102,6 @@ endef
102# 102#
103# Build the feature check binaries in parallel, ignore errors, ignore return value and suppress output: 103# Build the feature check binaries in parallel, ignore errors, ignore return value and suppress output:
104# 104#
105$(info )
106$(info Auto-detecting system features:)
107 105
108# 106#
109# Note that this is not a complete list of all feature tests, just 107# Note that this is not a complete list of all feature tests, just
@@ -137,9 +135,33 @@ CORE_FEATURE_TESTS = \
137 volatile-register-var 135 volatile-register-var
138 136
139# 137#
138# So here we detect whether test-all was rebuilt, to be able
139# to skip the print-out of the long features list if the file
140# existed before and after it was built:
141#
142ifeq ($(wildcard config/feature-checks/test-all),)
143 test-all-failed := 1
144else
145 test-all-failed := 0
146endif
147
148#
140# Special fast-path for the 'all features are available' case: 149# Special fast-path for the 'all features are available' case:
141# 150#
142$(call feature_check,all) 151$(call feature_check,all,$(MSG))
152
153#
154# Just in case the build freshly failed, make sure we print the
155# feature matrix:
156#
157ifeq ($(feature-all), 0)
158 test-all-failed := 1
159endif
160
161ifeq ($(test-all-failed),1)
162 $(info )
163 $(info Auto-detecting system features:)
164endif
143 165
144ifeq ($(feature-all), 1) 166ifeq ($(feature-all), 1)
145 # 167 #
@@ -151,11 +173,10 @@ else
151 $(foreach feat,$(CORE_FEATURE_TESTS),$(call feature_check,$(feat))) 173 $(foreach feat,$(CORE_FEATURE_TESTS),$(call feature_check,$(feat)))
152endif 174endif
153 175
154feature_print = $(eval $(feature_print_code))
155
156# 176#
157# Print the result of the feature test: 177# Print the result of the feature test:
158# 178#
179feature_print = $(eval $(feature_print_code))
159define feature_print_code 180define feature_print_code
160 ifeq ($(feature-$(1)), 1) 181 ifeq ($(feature-$(1)), 1)
161 MSG := $(shell printf '...%30s: [ \033[32mon\033[m ]' $(1)) 182 MSG := $(shell printf '...%30s: [ \033[32mon\033[m ]' $(1))
@@ -165,10 +186,13 @@ define feature_print_code
165 $(info $(MSG)) 186 $(info $(MSG))
166endef 187endef
167 188
168$(foreach feat,$(CORE_FEATURE_TESTS) DUMMY,$(call feature_print,$(feat))) 189#
169 190# Only print out our features if we rebuilt the testcases or if a test failed:
170# newline at the end of the feature printouts: 191#
171$(info ) 192ifeq ($(test-all-failed), 1)
193 $(foreach feat,$(CORE_FEATURE_TESTS) DUMMY,$(call feature_print,$(feat)))
194 $(info )
195endif
172 196
173ifeq ($(feature-stackprotector-all), 1) 197ifeq ($(feature-stackprotector-all), 1)
174 CFLAGS += -fstack-protector-all 198 CFLAGS += -fstack-protector-all