]> git.proxmox.com Git - pve-docs.git/blob - pve-doc-generator.mk.in
pve-doc-generator: make include dirs configurable
[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 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:
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
49 %-plain.html: %.adoc ${PVE_COMMON_DOC_SOURCES}
50 ${ASCIIDOC_PVE} compile-wiki -o $@ $*.adoc
51
52 chapter-%.html: %.adoc ${PVE_COMMON_DOC_SOURCES}
53 ${ASCIIDOC_PVE} compile-chapter -o $@ $*.adoc
54
55 %.1: %.adoc %.1-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
56 ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
57 test -n "$${NOVIEW}" || man -l $@
58
59 %.1.html: %.adoc %.1-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
60 ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
61
62 %.8: %.adoc %.8-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
63 ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
64 test -n "$${NOVIEW}" || man -l $@
65
66 %.8.html: %.adoc %.8-synopsis.adoc ${PVE_COMMON_DOC_SOURCES}
67 ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
68
69 %.5: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
70 ${ASCIIDOC_PVE} compile-man -o $@ $*.adoc
71 test -n "$${NOVIEW}" || man -l $@
72
73 %.5.html: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
74 ${ASCIIDOC_PVE} compile-man-html -o $@ $*.adoc
75
76 %.5-plain.html: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
77 ${ASCIIDOC_PVE} compile-man-wiki -o $@ $*.adoc
78
79
80 .PHONY: cleanup-docgen
81 cleanup-docgen:
82 rm -f *.xml.tmp *.1 *.5 *.8 *.adoc docinfo.xml