From 01fe756c5f6c68d25b1424a0667171def6ef2160 Mon Sep 17 00:00:00 2001 From: Alejandro Colomar Date: Tue, 16 Apr 2024 02:02:17 +0200 Subject: share/mk/: Read files before 'if' 'if' turns off set -e. We want to read files before 'if', so that if they don't exist, the shell will error out. Signed-off-by: Alejandro Colomar --- share/mk/install/man.mk | 4 +++- share/mk/lint/man/tbl.mk | 31 ++++++++++++++++++------------- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/share/mk/install/man.mk b/share/mk/install/man.mk index eafbbaa32..e22276bac 100644 --- a/share/mk/install/man.mk +++ b/share/mk/install/man.mk @@ -6,6 +6,7 @@ ifndef MAKEFILE_INSTALL_MAN_INCLUDED MAKEFILE_INSTALL_MAN_INCLUDED := 1 +include $(MAKEFILEDIR)/configure/build-depends/coreutils/cat.mk include $(MAKEFILEDIR)/configure/build-depends/coreutils/install.mk include $(MAKEFILEDIR)/configure/build-depends/coreutils/ln.mk include $(MAKEFILEDIR)/configure/build-depends/coreutils/test.mk @@ -55,7 +56,8 @@ $(_manpages): -e '/^\.so /s, man$(s)/\(.*\)\.$(s)$$, $(notdir $(man$(s)dir))/\1$(man$(s)ext),') \ $@ ifeq ($(LINK_PAGES),symlink) - if $(GREP) '^\.so ' <$@ >/dev/null; then \ + $(CAT) <$@ \ + | if $(GREP) '^\.so ' >/dev/null; then \ $(GREP) '^\.so ' <$@ \ | $(SED) 's,^\.so \(.*\),../\1,' \ | $(XARGS) -I tgt $(LN) -fsT tgt $@; \ diff --git a/share/mk/lint/man/tbl.mk b/share/mk/lint/man/tbl.mk index 2a502846f..cb2dd46de 100644 --- a/share/mk/lint/man/tbl.mk +++ b/share/mk/lint/man/tbl.mk @@ -7,6 +7,7 @@ MAKEFILE_LINT_MAN_TBL_INCLUDED := 1 include $(MAKEFILEDIR)/build/man/man.mk +include $(MAKEFILEDIR)/configure/build-depends/coreutils/cat.mk include $(MAKEFILEDIR)/configure/build-depends/coreutils/echo.mk include $(MAKEFILEDIR)/configure/build-depends/coreutils/head.mk include $(MAKEFILEDIR)/configure/build-depends/coreutils/tail.mk @@ -19,20 +20,24 @@ _LINT_man_tbl := $(patsubst %, %.lint-man.tbl.touch, $(_NONSO_MAN)) $(_LINT_man_tbl): %.lint-man.tbl.touch: % $(MK) | $$(@D)/ $(info $(INFO_)GREP $@) - if $(GREP) -q '^\.TS$$' $< && ! $(HEAD) -n1 $< | $(GREP) -q '\\" t$$'; \ - then \ - >&2 $(ECHO) "$<:1: missing '\\\" t' comment:"; \ - >&2 $(HEAD) -n1 <$<; \ - exit 1; \ - fi - if $(HEAD) -n1 $< | $(GREP) -q '\\" t$$' && ! $(GREP) -q '^\.TS$$' $<; \ - then \ - >&2 $(ECHO) "$<:1: spurious '\\\" t' comment:"; \ - >&2 $(HEAD) -n1 <$<; \ - exit 1; \ + $(HEAD) -n1 <$< \ + | if $(GREP) '\\" t$$' >/dev/null; then \ + $(CAT) <$< \ + | if ! $(GREP) '^\.TS$$' >/dev/null; then \ + >&2 $(ECHO) "$<:1: spurious '\\\" t' comment:"; \ + >&2 $(HEAD) -n1 <$<; \ + exit 1; \ + fi; \ + else \ + $(CAT) <$< \ + | if $(GREP) '^\.TS$$' >/dev/null; then \ + >&2 $(ECHO) "$<:1: missing '\\\" t' comment:"; \ + >&2 $(HEAD) -n1 <$<; \ + exit 1; \ + fi; \ fi - if $(TAIL) -n+2 <$< | $(GREP) -q '\\" t$$'; \ - then \ + $(TAIL) -n+2 <$< \ + | if $(GREP) '\\" t$$' >/dev/null; then \ >&2 $(ECHO) "$<: spurious '\\\" t' not in first line:"; \ >&2 $(GREP) -n '\\" t$$' $< /dev/null; \ exit 1; \ -- cgit v1.2.3