1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-21 06:55:39 +00:00

Improve display of advices on build failures.

* Makefile.in: Use three leading '*' characters, and redirect to stderr.
This commit is contained in:
Gregory Heytings 2022-09-20 14:12:31 +00:00
parent f419c507a7
commit 523821ed04

View File

@ -380,37 +380,37 @@ bootstrap-all:
actual-all: ${SUBDIR} info $(gsettings_SCHEMAS:.xml=.valid) src-depending-on-lisp
# ADVICE-ON-FAILURE-BEGIN:all
# You might try to:
# - run "make bootstrap", which might fix the problem
# - run "make V=1", which displays the full commands invoked by make,
# to further investigate the problem
# You might try to:
# - run "make bootstrap", which might fix the problem
# - run "make V=1", which displays the full commands invoked by make,
# to further investigate the problem
# ADVICE-ON-FAILURE-END:all
# ADVICE-ON-FAILURE-BEGIN:bootstrap
# You might try to:
# - run "make extraclean" and run "make" again (or, equivalently, run
# "make bootstrap configure=default"), to rebuild Emacs with the
# default configuration options, which might fix the problem
# - run "git clean -fdx" and run "make bootstrap" again, which might
# fix the problem if "make bootstrap configure=default" did not
# !BEWARE! "git clean -fdx" deletes all files that are not under
# !BEWARE! version control, which means that all changes to such
# !BEWARE! files will be lost and cannot be restored later
# - run "make V=1", which displays the full commands invoked by make,
# to further investigate the problem
# - report the problem and ask for help by sending an email to
# bug-gnu-emacs@gnu.org, mentioning at least the build error
# message, the platform, and the repository revision displayed by
# "git rev-parse HEAD"
# You might try to:
# - run "make extraclean" and run "make" again (or, equivalently, run
# "make bootstrap configure=default"), to rebuild Emacs with the
# default configuration options, which might fix the problem
# - run "git clean -fdx" and run "make bootstrap" again, which might
# fix the problem if "make bootstrap configure=default" did not
# !BEWARE! "git clean -fdx" deletes all files that are not under
# !BEWARE! version control, which means that all changes to such
# !BEWARE! files will be lost and cannot be restored later
# - run "make V=1", which displays the full commands invoked by make,
# to further investigate the problem
# - report the problem and ask for help by sending an email to
# bug-gnu-emacs@gnu.org, mentioning at least the build error
# message, the platform, and the repository revision displayed by
# "git rev-parse HEAD"
# ADVICE-ON-FAILURE-END:bootstrap
advice-on-failure:
@echo
@echo " \"make ${make-target}\" failed with exit status ${exit-status}."
@echo >&2 '***'
@echo >&2 '*** '"\"make ${make-target}\" failed with exit status ${exit-status}."
@cat Makefile | \
sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q};' | \
sed 's/^# //' | grep -v '^ADVICE-ON-FAILURE-'
@echo
sed 's/^# /*** /' | grep -v '^*** ADVICE-ON-FAILURE-' >&2
@echo >&2 '***'
@exit ${exit-status}
sanity-check:
@ -418,12 +418,12 @@ sanity-check:
'(progn (defun f (n) (if (= 0 n) 1 (* n (f (- n 1))))) (princ (f 10)))' \
2> /dev/null); \
[ "X$$v" = "X3628800" ] && exit 0; \
echo; \
echo " \"make ${make-target}\" succeeded, but Emacs is not functional."; \
echo >&2 '***'; \
echo >&2 '*** '"\"make ${make-target}\" succeeded, but Emacs is not functional."; \
cat Makefile | \
sed -n '/^# ADVICE-ON-FAILURE-BEGIN:${make-target}/,$${p;/^# ADVICE-ON-FAILURE-END:${make-target}/q};' | \
sed 's/^# //' | grep -v '^ADVICE-ON-FAILURE-'; \
echo; \
sed 's/^# /*** /' | grep -v '^*** ADVICE-ON-FAILURE-' >&2; \
echo >&2 '***'; \
exit 1
.PHONY: all ${SUBDIR} blessmail epaths-force epaths-force-w32 epaths-force-ns-self-contained etc-emacsver