else # !may-sync-config
 # External modules and some install targets need include/generated/autoconf.h
 # and include/config/auto.conf but do not care if they are up-to-date.
-# Use auto.conf to trigger the test
+# Use auto.conf to show the error message
+
+checked-configs := include/generated/autoconf.h include/config/auto.conf
+missing-configs := $(filter-out $(wildcard $(checked-configs)), $(checked-configs))
+
+ifdef missing-configs
 PHONY += include/config/auto.conf
 
 include/config/auto.conf:
-       @test -e include/generated/autoconf.h -a -e $@ || (             \
-       echo >&2;                                                       \
-       echo >&2 "  ERROR: Kernel configuration is invalid.";           \
-       echo >&2 "         include/generated/autoconf.h or $@ are missing.";\
-       echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";      \
-       echo >&2 ;                                                      \
-       /bin/false)
+       @echo   >&2 '***'
+       @echo   >&2 '***  ERROR: Kernel configuration is invalid. The following files are missing:'
+       @printf >&2 '***    - %s\n' $(missing-configs)
+       @echo   >&2 '***  Run "make oldconfig && make prepare" on kernel source to fix it.'
+       @echo   >&2 '***'
+       @/bin/false
+endif
 
 endif # may-sync-config
 endif # need-config