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