1 # also update debian/changelog
4 DGDIR?=/usr/share/pve-doc-generator
6 ASCIIDOC_PVE?=/usr/bin/asciidoc-pve
8 PERL_DOC_ENV=PVE_GENERATING_DOCS=1
9 PERL_DOC_INC_DIRS:=${PERL_DOC_INC_DIRS} .
10 PERL_DOC_INC=$(foreach dir,${PERL_DOC_INC_DIRS},-I${dir})
12 PVE_COMMON_DOC_SOURCES= \
19 attributes.txt docinfo.xml pmxcfs.8-synopsis.adoc qmeventd.8-synopsis.adoc:
23 %-opts.adoc: ${DGDIR}/gen-%-opts.pl
24 $(PERL_DOC_ENV) perl ${PERL_DOC_INC} ${DGDIR}/gen-$*-opts.pl >$@.tmp
27 %.adoc: ${DGDIR}/gen-%-adoc.pl
28 $(PERL_DOC_ENV) perl ${PERL_DOC_INC} ${DGDIR}/gen-$*-adoc.pl >$@.tmp
31 pveperf.1-synopsis.adoc:
32 echo '*pveperf* `[PATH]`' > pveperf.1-synopsis.adoc
35 $(PERL_DOC_ENV) perl ${PERL_DOC_INC} -e "use PVE::CLI::$(subst -,_,$*);print PVE::CLI::$(subst -,_,$*)->generate_asciidoc_synopsis();" > $@.tmp
39 $(PERL_DOC_ENV) perl ${PERL_DOC_INC} -e "use PVE::Service::$(subst -,_,$*);print PVE::Service::$(subst -,_,$*)->generate_asciidoc_synopsis();" > $@.tmp
43 %.adoc: ${DGDIR}/%.adoc
48 %.service-bash-completion:
49 perl ${PERL_DOC_INC} -T -e "use PVE::Service::$*; PVE::Service::$*->generate_bash_completions();" >$@.tmp
53 perl ${PERL_DOC_INC} -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_bash_completions();" >$@.tmp
56 %.service-api-verified:
57 perl ${PERL_DOC_INC} -T -e "use PVE::Service::$*; PVE::Service::$*->verify_api();"
61 perl ${PERL_DOC_INC} -T -e "use PVE::CLI::$*; PVE::CLI::$*->verify_api();"
64 %-plain.html: %.adoc ${PVE_COMMON_DOC_SOURCES}
65 ${ASCIIDOC_PVE} compile-wiki -o $@ $*.adoc
67 chapter-%.html: %.adoc ${PVE_COMMON_DOC_SOURCES}
68 ${ASCIIDOC_PVE} compile-chapter -o $@ $*.adoc
70 %.1: %.adoc %.1-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
71 ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
72 test -n "$${NOVIEW}" || man -l $@
74 %.1.html: %.adoc %.1-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
75 ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
77 %.8: %.adoc %.8-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
78 ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
79 test -n "$${NOVIEW}" || man -l $@
81 %.8.html: %.adoc %.8-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
82 ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
84 %.5: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
85 ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
86 test -n "$${NOVIEW}" || man -l $@
88 %.5.html: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
89 ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
91 %.5-plain.html: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
92 ${ASCIIDOC_PVE} compile-man-wiki -o $@ $*.adoc
95 .PHONY: cleanup-docgen
97 rm -f *.xml.tmp *.1 *.5 *.8 *.adoc docinfo.xml