__nmk_dir ?= ../scripts/nmk/scripts/ include $(__nmk_dir)include.mk include $(__nmk_dir)macro.mk ifneq ($(USE_ASCIIDOCTOR),) ASCIIDOC := asciidoctor XMLTO := else ASCIIDOC := asciidoc XMLTO := xmlto endif FOOTER := footer.txt SRC1 += crit.txt SRC1 += criu-ns.txt SRC1 += compel.txt SRC1 += criu-amdgpu-plugin.txt SRC8 += criu.txt SRC := $(SRC1) $(SRC8) XMLS := $(patsubst %.txt,%.xml,$(SRC)) MAN1S := $(patsubst %.txt,%.1,$(SRC1)) MAN8S := $(patsubst %.txt,%.8,$(SRC8)) MANS := $(MAN1S) $(MAN8S) MAN1DIR := $(MANDIR)/man1 MAN8DIR := $(MANDIR)/man8 GROFF :=groff PAPER :=$(shell paperconf 2>/dev/null || echo letter) GROFF_OPTS := -Tps -t -dpaper=$(PAPER) -P-p$(PAPER) -man -msafer -rC1 -rD1 -rS11 PSS := $(patsubst %,%.ps,$(basename $(MANS))) PDFS := $(patsubst %,%.pdf,$(basename $(MANS))) all: check $(MANS) ps: $(PSS) pdf: $(PDFS) .PHONY: all ps pdf check check: $(Q) for B in $(ASCIIDOC) $(XMLTO); do \ $$B --version > /dev/null || exit 1; \ done ifeq ($(CRIU_VERSION),) include ../Makefile.versions endif $(FOOTER): ../Makefile.versions $(call msg-gen, $@) $(Q) echo ":doctype: manpage" > $@ $(Q) echo ":man source: criu" >> $@ $(Q) echo ":man version: $(CRIU_VERSION)" >> $@ $(Q) echo ":man manual: CRIU Manual" >> $@ %.1: %.txt $(FOOTER) custom.xsl $(call msg-gen, $@) ifneq ($(USE_ASCIIDOCTOR),) $(Q) $(ASCIIDOC) -b manpage -d manpage -o $@ $< else $(Q) $(ASCIIDOC) -b docbook -d manpage -o $(patsubst %.1,%.xml,$@) $< $(Q) $(XMLTO) man -m custom.xsl $(patsubst %.1,%.xml,$@) endif %.8: %.txt $(FOOTER) custom.xsl $(call msg-gen, $@) ifneq ($(USE_ASCIIDOCTOR),) $(Q) $(ASCIIDOC) -b manpage -d manpage -o $@ $< else $(Q) $(ASCIIDOC) -b docbook -d manpage -o $(patsubst %.8,%.xml,$@) $< $(Q) $(XMLTO) man -m custom.xsl $(patsubst %.8,%.xml,$@) endif %.ps: %.1 $(call msg-gen, $@) $(Q) $(GROFF) $(GROFF_OPTS) $^ > $@ %.ps: %.8 $(call msg-gen, $@) $(Q) $(GROFF) $(GROFF_OPTS) $^ > $@ %.pdf: %.ps $(call msg-gen, $@) $(Q) ps2pdf $< $@ clean: $(call msg-clean, "Documentation") $(Q) rm -f $(XMLS) $(MANS) $(PSS) $(PDFS) $(FOOTER) install: check $(MANS) $(E) " INSTALL " $(MAN8S) $(Q) mkdir -p $(DESTDIR)$(MAN8DIR) $(Q) install -m 644 $(MAN8S) $(DESTDIR)$(MAN8DIR) $(E) " INSTALL " $(MAN1S) $(Q) mkdir -p $(DESTDIR)$(MAN1DIR) $(Q) install -m 644 $(MAN1S) $(DESTDIR)$(MAN1DIR) uninstall: $(E) " UNINSTALL" $(MAN1S) $(Q) $(RM) $(addprefix $(DESTDIR)$(MAN1DIR)/,$(MAN1S)) $(E) " UNINSTALL" $(MAN8S) $(Q) $(RM) $(addprefix $(DESTDIR)$(MAN8DIR)/,$(MAN8S)) .PHONY: clean install uninstall