diff options
author | Alejandro Colomar <alx@kernel.org> | 2023-04-23 03:05:29 +0200 |
---|---|---|
committer | Alejandro Colomar <alx@kernel.org> | 2023-04-23 03:06:00 +0200 |
commit | 851b01cf35f29780763ba5030df184f243e40b4d (patch) | |
tree | 64be084978ec0bb601b45e4b575c2380bc1abebf | |
parent | ae60bbe556bf15a0c631b63b18f6b90132e0a924 (diff) |
*.mk: build-pdf: Build PDF manual pages
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r-- | Makefile | 13 | ||||
-rw-r--r-- | share/mk/build/_.mk | 2 | ||||
-rw-r--r-- | share/mk/build/pdf.mk | 74 |
3 files changed, 86 insertions, 3 deletions
@@ -48,7 +48,7 @@ help: $(info ) $(info clean Remove $$(builddir)) $(info ) - $(info build Wrapper for "build-catman build-html build-src") + $(info build Wrapper for build-* targets) $(info ) $(info build-pre Preprocess man pages; alias for "build-pre-tbl") $(info build-pre-preconv Preprocess man pages with preconv(1)) @@ -64,7 +64,14 @@ help: $(info build-html Build HTML manual pages) $(info html Alias for "build-html") $(info ) - $(info build-ps Build ps manual pages; alias for "build-ps-grops") + $(info build-pdf Build PDF manual pages; alias for "build-pdf-grops") + $(info build-pdf-eqn eqn(1) step of "build-pdf") + $(info build-pdf-troff Wrapper for build-pdf-troff-* targets) + $(info build-pdf-troff-man troff(1) step of "build-pdf" for man(7) pages) + $(info build-pdf-troff-mdoc troff(1) step of "build-pdf" for mdoc(7) pages) + $(info build-pdf-gropdf gropdf(1) step of "build-pdf") + $(info ) + $(info build-ps Build PostScript manual pages; alias for "build-ps-grops") $(info build-ps-eqn eqn(1) step of "build-ps") $(info build-ps-troff Wrapper for build-ps-troff-* targets) $(info build-ps-troff-man troff(1) step of "build-ps" for man(7) pages) @@ -131,6 +138,7 @@ include $(MAKEFILEDIR)/check/catman.mk include $(MAKEFILEDIR)/build/_.mk include $(MAKEFILEDIR)/build/catman.mk include $(MAKEFILEDIR)/build/html.mk +include $(MAKEFILEDIR)/build/pdf.mk include $(MAKEFILEDIR)/build/pre.mk include $(MAKEFILEDIR)/build/ps.mk include $(MAKEFILEDIR)/build/src.mk @@ -188,6 +196,7 @@ help-variables: $(info TBL) $(info EQN {EXTRA_,}EQNFLAGS) $(info TROFF {EXTRA_,}TROFFFLAGS{,_MAN,_MDOC} {EXTRA_,}NROFFFLAGS) + $(info GROPDF {EXTRA_,}GROPDFFLAGS) $(info GROPS {EXTRA_,}GROPSFLAGS) $(info GROTTY {EXTRA_,}GROTTYFLAGS) $(info COL {EXTRA_,}COLFLAGS) diff --git a/share/mk/build/_.mk b/share/mk/build/_.mk index c42141ba0..c68290c1e 100644 --- a/share/mk/build/_.mk +++ b/share/mk/build/_.mk @@ -39,7 +39,7 @@ $(builddir)/%/: .PHONY: build -build: build-catman build-html build-ps build-src +build: build-catman build-html build-pdf build-ps build-src @: .PHONY: clean diff --git a/share/mk/build/pdf.mk b/share/mk/build/pdf.mk new file mode 100644 index 000000000..c2547bf0b --- /dev/null +++ b/share/mk/build/pdf.mk @@ -0,0 +1,74 @@ +######################################################################## +# Copyright 2023, Alejandro Colomar <alx@kernel.org> +# SPDX-License-Identifier: GPL-3.0-or-later +######################################################################## + + +ifndef MAKEFILE_BUILD_PDF_INCLUDED +MAKEFILE_BUILD_PDF_INCLUDED := 1 + + +include $(MAKEFILEDIR)/build/_.mk +include $(MAKEFILEDIR)/build/groff.mk +include $(MAKEFILEDIR)/cmd.mk +include $(MAKEFILEDIR)/src.mk + + +DEFAULT_GROPDFFLAGS := +EXTRA_GROPDFFLAGS := +GROPDFFLAGS := $(DEFAULT_GROPDFFLAGS) $(EXTRA_GROPDFFLAGS) +GROPDF := gropdf + + +_PDFMAN_troff := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.pdf.troff,$(NONSO_MAN) $(NONSO_MDOC)) +_PDFMAN_MAN_set := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.pdf.set,$(NONSO_MAN)) +_PDFMAN_MDOC_set:= $(patsubst $(MANDIR)/%,$(_MANDIR)/%.pdf.set,$(NONSO_MDOC)) +_PDFMAN := $(patsubst $(MANDIR)/%,$(_MANDIR)/%.pdf,$(NONSO_MAN) $(NONSO_MDOC)) + + +$(_PDFMAN_troff): %.pdf.troff: %.eqn | $$(@D)/ + $(info EQN $@) + $(EQN) -Tpdf $(EQNFLAGS) <$< 2>&1 >$@ \ + | ( ! $(GREP) ^ ) + +$(_PDFMAN_MAN_set): %.pdf.set: %.pdf.troff | $$(@D)/ + $(info TROFF $@) + $(TROFF) -Tpdf $(TROFFFLAGS_MAN) <$< 2>&1 >$@ \ + | ( ! $(GREP) ^ ) + +$(_PDFMAN_MDOC_set): %.pdf.set: %.pdf.troff | $$(@D)/ + $(info TROFF $@) + $(TROFF) -Tpdf $(TROFFFLAGS_MDOC) <$< 2>&1 >$@ \ + | ( ! $(GREP) ^ ) + +$(_PDFMAN): %.pdf: %.pdf.set | $$(@D)/ + $(info GROPDF $@) + $(GROPDF) $(GROPDFFLAGS) <$< >$@ + + +.PHONY: build-pdf-eqn +build-pdf-eqn: $(_PDFMAN_troff) + @: + +.PHONY: build-pdf-troff-man +build-pdf-troff-man: $(_PDFMAN_MAN_set) + @: + +.PHONY: build-pdf-troff-mdoc +build-pdf-troff-mdoc: $(_PDFMAN_MDOC_set) + @: + +.PHONY: build-pdf-troff +build-pdf-troff: build-pdf-troff-man build-pdf-troff-mdoc + @: + +.PHONY: build-pdf-gropdf +build-pdf-gropdf: $(_PDFMAN) + @: + +.PHONY: build-pdf +build-pdf: build-pdf-gropdf + @: + + +endif # include guard |