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