summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2024-04-16 02:02:17 +0200
committerAlejandro Colomar <alx@kernel.org>2024-04-16 16:26:03 +0200
commit01fe756c5f6c68d25b1424a0667171def6ef2160 (patch)
tree2ec7a33f8f29cea8ed190ad34aaef8664563cdb8
parentfee8e186e3878c6e9827233efde90bc115801aa3 (diff)
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 <alx@kernel.org>
-rw-r--r--share/mk/install/man.mk4
-rw-r--r--share/mk/lint/man/tbl.mk31
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; \