]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - share/mk/lint/man/tbl.mk
share/mk/: Read files before 'if'
[thirdparty/man-pages.git] / share / mk / lint / man / tbl.mk
index 2a502846f3d5d3054b2731a7c3b3789d2332ae94..cb2dd46def53a3611313c9e28ecc593a36c5c118 100644 (file)
@@ -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; \