diff options
author | Alejandro Colomar <alx@kernel.org> | 2023-04-22 16:47:51 +0200 |
---|---|---|
committer | Alejandro Colomar <alx@kernel.org> | 2023-04-22 16:51:28 +0200 |
commit | c76a587148d9b69667852311ece53403b1458844 (patch) | |
tree | ab65dd2a2cfee6b103d6c13307bbb65242ac6456 | |
parent | 5f04f185dd551dfe4a0a8212b4f845938e552a2c (diff) |
*.mk: lint, lint-mdoc, lint-mdoc-mandoc: Support mdoc(7) pages
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | share/mk/build/_.mk | 4 | ||||
-rw-r--r-- | share/mk/lint/_.mk | 2 | ||||
-rw-r--r-- | share/mk/lint/man/_.mk | 16 | ||||
-rw-r--r-- | share/mk/lint/man/man.mk (renamed from share/mk/lint/man.mk) | 23 | ||||
-rw-r--r-- | share/mk/lint/man/mdoc.mk | 45 |
6 files changed, 83 insertions, 19 deletions
@@ -65,7 +65,7 @@ help: $(info build-src-cc Compile C programs from EXAMPLES) $(info build-src-ld Link C programs from EXAMPLES) $(info ) - $(info lint Wrapper for "lint-c lint-man") + $(info lint Wrapper for "lint-c lint-man lint-mdoc") $(info lint-c Wrapper for lint-c-* targets) $(info lint-c-checkpatch Lint C programs from EXAMPLES with checkpatch(1)) $(info lint-c-clang-tidy Lint C programs from EXAMPLES with clang-tidy(1)) @@ -73,8 +73,10 @@ help: $(info lint-c-cpplint Lint C programs from EXAMPLES with cpplint(1)) $(info lint-c-iwyu Lint C programs from EXAMPLES with iwyu(1)) $(info lint-man Wrapper for lint-man-* targets) - $(info lint-man-mandoc Lint man pages with mandoc(1)) - $(info lint-man-tbl Lint man pages about '\" t' comment for tbl(1)) + $(info lint-man-mandoc Lint man(7) pages with mandoc(1)) + $(info lint-man-tbl Lint man(7) pages about '\" t' comment for tbl(1)) + $(info lint-mdoc Wrapper for lint-mdoc-* targets) + $(info lint-mdoc-mandoc Lint mdoc(7) pages with mandoc(1)) $(info ) $(info check Alias for "check-catman") $(info check-catman Check cat pages; alias for "check-catman-grep") @@ -125,7 +127,9 @@ include $(MAKEFILEDIR)/install/html.mk include $(MAKEFILEDIR)/install/man.mk include $(MAKEFILEDIR)/lint/_.mk include $(MAKEFILEDIR)/lint/c.mk -include $(MAKEFILEDIR)/lint/man.mk +include $(MAKEFILEDIR)/lint/man/_.mk +include $(MAKEFILEDIR)/lint/man/man.mk +include $(MAKEFILEDIR)/lint/man/mdoc.mk include $(MAKEFILEDIR)/verbose.mk diff --git a/share/mk/build/_.mk b/share/mk/build/_.mk index 0bd4c949c..bcdba6062 100644 --- a/share/mk/build/_.mk +++ b/share/mk/build/_.mk @@ -27,6 +27,10 @@ NONSO_MAN := $(shell $(FIND) $(MANDIR)/man*/ -type f \ | $(GREP) '$(MANEXT)' \ | $(XARGS) $(GREP) -l '^\.TH ' \ | $(SORT)) +NONSO_MDOC := $(shell $(FIND) $(MANDIR)/man*/ -type f \ + | $(GREP) '$(MANEXT)' \ + | $(XARGS) $(GREP) -l '^\.Dt ' \ + | $(SORT)) _MANDIRS := $(patsubst $(MANDIR)/%,$(_MANDIR)/%/,$(MANDIRS)) diff --git a/share/mk/lint/_.mk b/share/mk/lint/_.mk index c81f283da..56d8d2359 100644 --- a/share/mk/lint/_.mk +++ b/share/mk/lint/_.mk @@ -8,7 +8,7 @@ ifndef MAKEFILE_LINT_INCLUDED MAKEFILE_LINT_INCLUDED := 1 -lint := lint-c lint-man +lint := lint-c lint-man lint-mdoc .PHONY: lint diff --git a/share/mk/lint/man/_.mk b/share/mk/lint/man/_.mk new file mode 100644 index 000000000..17c3a0bbd --- /dev/null +++ b/share/mk/lint/man/_.mk @@ -0,0 +1,16 @@ +######################################################################## +# Copyright 2021-2023, Alejandro Colomar <alx@kernel.org> +# SPDX-License-Identifier: GPL-3.0-or-later OR LGPL-3.0-or-later +######################################################################## + + +ifndef MAKEFILE_LINT_MAN_INCLUDED +MAKEFILE_LINT_MAN_INCLUDED := 1 + + +DEFAULT_MANDOCFLAGS := -Tlint +EXTRA_MANDOCFLAGS := +MANDOCFLAGS := $(DEFAULT_MANDOCFLAGS) $(EXTRA_MANDOCFLAGS) + + +endif # MAKEFILE_LINT_MAN_INCLUDED diff --git a/share/mk/lint/man.mk b/share/mk/lint/man/man.mk index c696e2df0..4e9512ed9 100644 --- a/share/mk/lint/man.mk +++ b/share/mk/lint/man/man.mk @@ -1,27 +1,22 @@ ######################################################################## -# Copyright (C) 2021 - 2023 Alejandro Colomar <alx@kernel.org> -# SPDX-License-Identifier: GPL-3.0-or-later OR LGPL-3.0-or-later +# Copyright 2021-2023, Alejandro Colomar <alx@kernel.org> +# SPDX-License-Identifier: GPL-3.0-or-later OR LGPL-3.0-or-later ######################################################################## -ifndef MAKEFILE_LINT_MAN_INCLUDED -MAKEFILE_LINT_MAN_INCLUDED := 1 +ifndef MAKEFILE_LINT_MAN_MAN_INCLUDED +MAKEFILE_LINT_MAN_MAN_INCLUDED := 1 include $(MAKEFILEDIR)/cmd.mk include $(MAKEFILEDIR)/build/_.mk include $(MAKEFILEDIR)/lint/_.mk +include $(MAKEFILEDIR)/lint/man/_.mk include $(MAKEFILEDIR)/src.mk -DEFAULT_MANDOCFLAGS := -man -DEFAULT_MANDOCFLAGS += -Tlint -EXTRA_MANDOCFLAGS := -MANDOCFLAGS := $(DEFAULT_MANDOCFLAGS) $(EXTRA_MANDOCFLAGS) - - -_LINT_man_mandoc:=$(patsubst $(MANDIR)/%,$(_MANDIR)/%.lint-man.mandoc.touch,$(NONSO_MAN)) -_LINT_man_tbl :=$(patsubst $(MANDIR)/%,$(_MANDIR)/%.lint-man.tbl.touch,$(NONSO_MAN)) +_LINT_man_mandoc :=$(patsubst $(MANDIR)/%,$(_MANDIR)/%.lint-man.mandoc.touch,$(NONSO_MAN)) +_LINT_man_tbl :=$(patsubst $(MANDIR)/%,$(_MANDIR)/%.lint-man.tbl.touch,$(NONSO_MAN)) linters_man := mandoc tbl @@ -30,7 +25,7 @@ lint_man := $(foreach x,$(linters_man),lint-man-$(x)) $(_LINT_man_mandoc): $(_MANDIR)/%.lint-man.mandoc.touch: $(MANDIR)/% | $$(@D)/ $(info LINT (mandoc) $@) - ! ($(MANDOC) $(MANDOCFLAGS) $< 2>&1 \ + ! ($(MANDOC) -man $(MANDOCFLAGS) $< 2>&1 \ | $(GREP) -v 'STYLE: lower case character in document title:' \ | $(GREP) -v 'UNSUPP: ignoring macro in table:' \ | $(GREP) -v 'WARNING: cannot parse date, using it verbatim: TH (date)' \ @@ -74,4 +69,4 @@ lint-man: $(lint_man) @: -endif # MAKEFILE_LINT_MAN_INCLUDED +endif # MAKEFILE_LINT_MAN_MAN_INCLUDED diff --git a/share/mk/lint/man/mdoc.mk b/share/mk/lint/man/mdoc.mk new file mode 100644 index 000000000..0982f42cb --- /dev/null +++ b/share/mk/lint/man/mdoc.mk @@ -0,0 +1,45 @@ +######################################################################## +# Copyright 2023, Alejandro Colomar <alx@kernel.org> +# SPDX-License-Identifier: GPL-3.0-or-later OR LGPL-3.0-or-later +######################################################################## + + +ifndef MAKEFILE_LINT_MAN_MDOC_INCLUDED +MAKEFILE_LINT_MAN_MDOC_INCLUDED := 1 + + +include $(MAKEFILEDIR)/cmd.mk +include $(MAKEFILEDIR)/build/_.mk +include $(MAKEFILEDIR)/lint/_.mk +include $(MAKEFILEDIR)/lint/man/_.mk +include $(MAKEFILEDIR)/src.mk + + +_LINT_mdoc_mandoc:=$(patsubst $(MANDIR)/%,$(_MANDIR)/%.lint-mdoc.mandoc.touch,$(NONSO_MDOC)) + + +linters_mdoc := mandoc +lint_mdoc := $(foreach x,$(linters_mdoc),lint-mdoc-$(x)) + + +$(_LINT_mdoc_mandoc): $(_MANDIR)/%.lint-mdoc.mandoc.touch: $(MANDIR)/% | $$(@D)/ + $(info LINT (mandoc) $@) + ! ($(MANDOC) -mdoc $(MANDOCFLAGS) $< 2>&1 \ + | $(GREP) -v 'STYLE: operating system explicitly specified: Os ' \ + | $(GREP) -v 'WARNING: cross reference to self: Xr ' \ + ||:; \ + ) \ + | $(GREP) '.' >&2 + touch $@ + + +.PHONY: $(lint_mdoc) +$(lint_mdoc): lint-mdoc-%: $$(_LINT_mdoc_%) + @: + +.PHONY: lint-mdoc +lint-mdoc: $(lint_mdoc) + @: + + +endif # MAKEFILE_LINT_MAN_MDOC_INCLUDED |