summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandro Colomar <alx@kernel.org>2023-04-14 17:22:05 +0200
committerAlejandro Colomar <alx@kernel.org>2023-04-14 17:37:58 +0200
commitf91a9c9ec95e5de367b210b76bb8d112e29c826c (patch)
tree18e7992578931690dd5e449c3cda180e36d57c40
parentf76ae175aa2ad029f22dfa5c799eebc297a4e876 (diff)
*.mk, INSTALL: build-src-c: Optimize pipeline
Calling man(1) is slow. Since we only need to format the page, calling mandoc(1) is faster and simpler (we could also use groff(1), but mandoc(1) is probably faster and simpler than groff(1) too). This brings times down ~3x in my system. Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r--INSTALL2
-rw-r--r--Makefile1
-rw-r--r--share/mk/build/src.mk3
-rw-r--r--share/mk/cmd.mk1
-rw-r--r--share/mk/lint/man.mk1
5 files changed, 3 insertions, 5 deletions
diff --git a/INSTALL b/INSTALL
index 402ce53e3..b3f7f4095 100644
--- a/INSTALL
+++ b/INSTALL
@@ -106,7 +106,7 @@ Description
- clang-tidy(1)
- cpplint(1)
- iwyu(1)
- - man(1)
+ - mandoc(1)
- mkdir(1)
- pkg-config(1)
- tac(1)
diff --git a/Makefile b/Makefile
index d55191b4d..a19ae0b72 100644
--- a/Makefile
+++ b/Makefile
@@ -176,7 +176,6 @@ help-variables:
$(info GROTTY {EXTRA_,}GROTTYFLAGS)
$(info COL {EXTRA_,}COLFLAGS)
$(info )
- $(info MAN)
$(info MANDOC {EXTRA_,}MANDOCFLAGS)
$(info MAN2HTML {EXTRA_,}MAN2HTMLFLAGS)
$(info )
diff --git a/share/mk/build/src.mk b/share/mk/build/src.mk
index 365d6c8e6..454090812 100644
--- a/share/mk/build/src.mk
+++ b/share/mk/build/src.mk
@@ -52,7 +52,6 @@ LDLIBS := $(DEFAULT_LDLIBS) $(EXTRA_LDLIBS)
CC := cc
LD := $(CC) $(CFLAGS)
-MAN := man
_SRCPAGEDIRS := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.d,$(NONSO_MAN))
@@ -84,7 +83,7 @@ $(_UNITS_src_src):
-e '/^\.TH/,/^\.SH/{/^\.SH/!p}' \
-e '/^\.SH EXAMPLES/p' \
-e "/^\... SRC BEGIN ($(@F))$$/,/^\... SRC END$$/p" \
- | $(MAN) -P cat -l - \
+ | $(MANDOC) -Tutf8 \
| $(SED) '/^[^ ]/d' \
| $(SED) 's/^ //' \
>$@
diff --git a/share/mk/cmd.mk b/share/mk/cmd.mk
index 92b469fc3..1653263bf 100644
--- a/share/mk/cmd.mk
+++ b/share/mk/cmd.mk
@@ -21,6 +21,7 @@ INSTALL := install
LN := ln
LOCALE := locale
LZIP := lzip
+MANDOC := mandoc
PKGCONF := pkgconf
SED := sed
SORT := sort
diff --git a/share/mk/lint/man.mk b/share/mk/lint/man.mk
index 9d9d6cea8..c696e2df0 100644
--- a/share/mk/lint/man.mk
+++ b/share/mk/lint/man.mk
@@ -18,7 +18,6 @@ DEFAULT_MANDOCFLAGS := -man
DEFAULT_MANDOCFLAGS += -Tlint
EXTRA_MANDOCFLAGS :=
MANDOCFLAGS := $(DEFAULT_MANDOCFLAGS) $(EXTRA_MANDOCFLAGS)
-MANDOC := mandoc
_LINT_man_mandoc:=$(patsubst $(MANDIR)/%,$(_MANDIR)/%.lint-man.mandoc.touch,$(NONSO_MAN))