[PATCH] Makefile: Simplify error handling
From: Alejandro Colomar <hidden>
Date: 2021-05-09 21:44:30
Subsystem:
kernel build + files below scripts/ (unless maintained elsewhere), the rest · Maintainers:
Nathan Chancellor, Nicolas Schier, Linus Torvalds
Instead of having to write '|| exit $$?' all the time, use the shell's '-Eeuo pipefail' options, which handle errors even better. However, pipefail needs bash, so POSIX sh (default) is not valid. Signed-off-by: Alejandro Colomar <redacted> --- Hi Michael, I'm not sure how much POSIX sh compatibility is needed for the man pages Makefile. There are probably projects out there that don't have bash, and still want to use it. So maybe we should't apply this. I don't know. Up to you. Thanks, Alex Makefile | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/Makefile b/Makefile
index fdfaf9645..4df4f5846 100644
--- a/Makefile
+++ b/Makefile@@ -1,4 +1,5 @@ #!/usr/bin/make -f +SHELL = /bin/bash -Eeuo pipefail # Do not print "Entering directory ..." MAKEFLAGS += --no-print-directory
@@ -33,15 +34,14 @@ html: | builddirs-html |while read f; do \ man2html $(HTOPTS) "$$f" \ |sed -e '1,2d' \ - >"$(htmlbuilddir)/$${f}$(htmlext)" \ - || exit $$?; \ + >"$(htmlbuilddir)/$${f}$(htmlext)"; \ done; .PHONY: builddirs-html builddirs-html: find man?/ -type d \ |while read d; do \ - $(INSTALL_DIR) "$(htmlbuilddir)/$$d" || exit $$?; \ + $(INSTALL_DIR) "$(htmlbuilddir)/$$d"; \ done; .PHONY: install-html
@@ -49,57 +49,57 @@ install-html: | installdirs-html cd $(htmlbuilddir) && \ find man?/ -type f \ |while read f; do \ - $(INSTALL_DATA) -T "$$f" "$(DESTDIR)$(htmldir_)/$$f" || exit $$?; \ + $(INSTALL_DATA) -T "$$f" "$(DESTDIR)$(htmldir_)/$$f"; \ done; .PHONY: installdirs-html installdirs-html: find man?/ -type d \ |while read d; do \ - $(INSTALL_DIR) "$(DESTDIR)$(htmldir_)/$$d" || exit $$?; \ + $(INSTALL_DIR) "$(DESTDIR)$(htmldir_)/$$d"; \ done; .PHONY: install install: | installdirs find man?/ -type f \ |while read f; do \ - $(INSTALL_DATA) -T "$$f" "$(DESTDIR)$(mandir)/$$f" || exit $$?; \ + $(INSTALL_DATA) -T "$$f" "$(DESTDIR)$(mandir)/$$f"; \ done; .PHONY: installdirs installdirs: find man?/ -type d \ |while read d; do \ - $(INSTALL_DIR) "$(DESTDIR)$(mandir)/$$d" || exit $$?; \ + $(INSTALL_DIR) "$(DESTDIR)$(mandir)/$$d"; \ done; .PHONY: uninstall remove uninstall remove: find man?/ -type f \ |while read f; do \ - rm -f "$(DESTDIR)$(mandir)/$$f" || exit $$?; \ - rm -f "$(DESTDIR)$(mandir)/$$f".* || exit $$?; \ + rm -f "$(DESTDIR)$(mandir)/$$f"; \ + rm -f "$(DESTDIR)$(mandir)/$$f".*; \ done; .PHONY: uninstall-html uninstall-html: find man?/ -type f \ |while read f; do \ - rm -f "$(DESTDIR)$(htmldir_)/$$f".* || exit $$?; \ + rm -f "$(DESTDIR)$(htmldir_)/$$f".*; \ done; .PHONY: clean clean: find man?/ -type f \ |while read f; do \ - rm -f "$(htmlbuilddir)/$$f".* || exit $$?; \ + rm -f "$(htmlbuilddir)/$$f".*; \ done; # Check if groff reports warnings (may be words of sentences not displayed) # from https://lintian.debian.org/tags/groff-message.html .PHONY: check-groff-warnings check-groff-warnings: - GROFF_LOG="$$(mktemp --tmpdir manpages-checksXXXX)" || exit $$?; \ + GROFF_LOG="$$(mktemp --tmpdir manpages-checksXXXX)"; \ for i in man?/*.[1-9]; \ do \ if grep -q 'SH.*NAME' "$$i"; then \
--
2.31.1