ddc0217f9182922e51eabbe2d941b89814541093
[pve-docs.git] / pve-doc-generator.mk.in
1 # also update debian/changelog
2 DOCRELEASE=5.2
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
10 PVE_COMMON_DOC_SOURCES=                 \
11         ${ASCIIDOC_PVE}                 \
12         pve-copyright.adoc              \
13         docinfo.xml
14
15 all:
16
17 attributes.txt docinfo.xml pmxcfs.8-synopsis.adoc:
18         cp ${DGDIR}/$@ $@.tmp
19         mv $@.tmp $@
20
21 %-opts.adoc: ${DGDIR}/gen-%-opts.pl
22         $(PERL_DOC_ENV) perl -I. ${DGDIR}/gen-$*-opts.pl >$@.tmp
23         mv $@.tmp $@
24
25 %.adoc: ${DGDIR}/gen-%-adoc.pl
26         $(PERL_DOC_ENV) perl -I. ${DGDIR}/gen-$*-adoc.pl >$@.tmp
27         mv $@.tmp $@
28
29 pveperf.1-synopsis.adoc:
30         echo '*pveperf* `[PATH]`' > pveperf.1-synopsis.adoc
31
32 %.1-synopsis.adoc:
33         $(PERL_DOC_ENV) perl -I. -e "use PVE::CLI::$(subst -,_,$*);print PVE::CLI::$(subst -,_,$*)->generate_asciidoc_synopsis();" > $@.tmp
34         mv $@.tmp $@
35
36 %.8-synopsis.adoc:
37         $(PERL_DOC_ENV) perl -I. -e "use PVE::Service::$(subst -,_,$*);print PVE::Service::$(subst -,_,$*)->generate_asciidoc_synopsis();" > $@.tmp
38         mv $@.tmp $@
39
40 ifneq (${DGDIR},.)
41 %.adoc: ${DGDIR}/%.adoc
42         cp $< $@.tmp
43         mv $@.tmp $@
44 endif
45
46
47 %-plain.html: %.adoc ${PVE_COMMON_DOC_SOURCES}
48         ${ASCIIDOC_PVE} compile-wiki -o $@ $*.adoc
49
50 chapter-%.html: %.adoc ${PVE_COMMON_DOC_SOURCES}
51         ${ASCIIDOC_PVE} compile-chapter -o $@ $*.adoc
52
53 %.1: %.adoc %.1-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
54         ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
55         test -n "$${NOVIEW}" || man -l $@
56
57 %.1.html: %.adoc %.1-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
58         ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
59
60 %.8: %.adoc %.8-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
61         ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
62         test -n "$${NOVIEW}" || man -l $@
63
64 %.8.html: %.adoc %.8-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
65         ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
66
67 %.5: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
68         ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
69         test -n "$${NOVIEW}" || man -l $@
70
71 %.5.html: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
72         ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
73
74 %.5-plain.html: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
75         ${ASCIIDOC_PVE} compile-man-wiki -o $@ $*.adoc
76
77
78 .PHONY: cleanup-docgen
79 cleanup-docgen:
80         rm -f *.xml.tmp *.1 *.5 *.8 *.adoc docinfo.xml