]> git.proxmox.com Git - pve-docs.git/blob - pve-doc-generator.mk.in
adapt pveceph documentation for nautilus
[pve-docs.git] / pve-doc-generator.mk.in
1 # also update debian/changelog
2 # FIXME: depend on dpkg-dev and use $(DEB_VERSION_UPSTREAM) here?
3 DOCRELEASE=6.0
4
5 DGDIR?=/usr/share/pve-doc-generator
6
7 ASCIIDOC_PVE?=/usr/bin/asciidoc-pve
8
9 PERL_DOC_ENV=PVE_GENERATING_DOCS=1
10 PERL_DOC_INC_DIRS:=${PERL_DOC_INC_DIRS} .
11 PERL_DOC_INC=$(foreach dir,${PERL_DOC_INC_DIRS},-I${dir})
12
13 PVE_COMMON_DOC_SOURCES= \
14 ${ASCIIDOC_PVE} \
15 pve-copyright.adoc \
16 docinfo.xml
17
18 all:
19
20 attributes.txt docinfo.xml pmxcfs.8-synopsis.adoc qmeventd.8-synopsis.adoc:
21 cp ${DGDIR}/$@ $@.tmp
22 mv $@.tmp $@
23
24 %-opts.adoc: ${DGDIR}/gen-%-opts.pl
25 $(PERL_DOC_ENV) perl ${PERL_DOC_INC} ${DGDIR}/gen-$*-opts.pl >$@.tmp
26 mv $@.tmp $@
27
28 %.adoc: ${DGDIR}/gen-%-adoc.pl
29 $(PERL_DOC_ENV) perl ${PERL_DOC_INC} ${DGDIR}/gen-$*-adoc.pl >$@.tmp
30 mv $@.tmp $@
31
32 pveperf.1-synopsis.adoc:
33 echo '*pveperf* `[PATH]`' > pveperf.1-synopsis.adoc
34
35 %.1-synopsis.adoc:
36 $(PERL_DOC_ENV) perl ${PERL_DOC_INC} -e "use PVE::CLI::$(subst -,_,$*);print PVE::CLI::$(subst -,_,$*)->generate_asciidoc_synopsis();" > $@.tmp
37 mv $@.tmp $@
38
39 %.8-synopsis.adoc:
40 $(PERL_DOC_ENV) perl ${PERL_DOC_INC} -e "use PVE::Service::$(subst -,_,$*);print PVE::Service::$(subst -,_,$*)->generate_asciidoc_synopsis();" > $@.tmp
41 mv $@.tmp $@
42
43 ifneq (${DGDIR},.)
44 %.adoc: ${DGDIR}/%.adoc
45 cp $< $@.tmp
46 mv $@.tmp $@
47 endif
48
49 %.service-bash-completion:
50 perl ${PERL_DOC_INC} -T -e "use PVE::Service::$*; PVE::Service::$*->generate_bash_completions();" >$@.tmp
51 mv $@.tmp $@
52
53 %.bash-completion:
54 perl ${PERL_DOC_INC} -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_bash_completions();" >$@.tmp
55 mv $@.tmp $@
56
57 %.service-zsh-completion:
58 perl ${PERL_DOC_INC} -T -e "use PVE::Service::$*; PVE::Service::$*->generate_zsh_completions();" >$@.tmp
59 mv $@.tmp $@
60
61 %.zsh-completion:
62 perl ${PERL_DOC_INC} -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_zsh_completions();" >$@.tmp
63 mv $@.tmp $@
64
65 %.service-api-verified:
66 perl ${PERL_DOC_INC} -T -e "use PVE::Service::$*; PVE::Service::$*->verify_api();"
67 touch $@
68
69 %.api-verified:
70 perl ${PERL_DOC_INC} -T -e "use PVE::CLI::$*; PVE::CLI::$*->verify_api();"
71 touch $@
72
73 %-plain.html: %.adoc ${PVE_COMMON_DOC_SOURCES}
74 ${ASCIIDOC_PVE} compile-wiki -o $@ $*.adoc
75
76 chapter-%.html: %.adoc ${PVE_COMMON_DOC_SOURCES}
77 ${ASCIIDOC_PVE} compile-chapter -o $@ $*.adoc
78
79 %.1: %.adoc %.1-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
80 ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
81 test -n "$${NOVIEW}" || man -l $@
82
83 %.1.html: %.adoc %.1-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
84 ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
85
86 %.8: %.adoc %.8-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
87 ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
88 test -n "$${NOVIEW}" || man -l $@
89
90 %.8.html: %.adoc %.8-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
91 ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
92
93 %.5: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
94 ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
95 test -n "$${NOVIEW}" || man -l $@
96
97 %.5.html: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
98 ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
99
100 %.5-plain.html: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
101 ${ASCIIDOC_PVE} compile-man-wiki -o $@ $*.adoc
102
103
104 .PHONY: cleanup-docgen
105 cleanup-docgen:
106 rm -f *.xml.tmp *.1 *.5 *.8 *.adoc docinfo.xml