f1f21fd62979c147f0ad3a8d0c7c0c27f8a87730
[pve-docs.git] / pve-doc-generator.mk
1 # also update debian/changelog
2 DOCRELEASE=4.1
3
4 DGDIR?=/usr/share/pve-doc-generator
5
6 all:
7
8 PVE_COMMON_DOC_SOURCES= \
9 attributes.txt \
10 pve-copyright.adoc \
11 docinfo.xml
12
13 PVECM_MAN1_SOURCES= \
14 pvecm.adoc \
15 pvecm.1-synopsis.adoc \
16 ${PVE_COMMON_DOC_SOURCES}
17
18 PVE_FIREWALL_MAN8_SOURCES= \
19 pve-firewall.adoc \
20 pve-firewall.8-synopsis.adoc \
21 pve-firewall-cluster-opts.adoc \
22 pve-firewall-host-opts.adoc \
23 pve-firewall-vm-opts.adoc \
24 pve-firewall-rules-opts.adoc \
25 pve-firewall-macros.adoc \
26 ${PVE_COMMON_DOC_SOURCES}
27
28 PVESM_MAN1_SOURCES= \
29 pvesm.adoc \
30 pvesm.1-synopsis.adoc \
31 pve-storage-dir.adoc \
32 pve-storage-glusterfs.adoc \
33 pve-storage-iscsi.adoc \
34 pve-storage-iscsidirect.adoc \
35 pve-storage-lvm.adoc \
36 pve-storage-nfs.adoc \
37 pve-storage-rbd.adoc \
38 pve-storage-zfspool.adoc \
39 ${PVE_COMMON_DOC_SOURCES}
40
41 PCT_MAN1_SOURCES= \
42 pct.adoc \
43 pct.1-synopsis.adoc \
44 ${PVE_COMMON_DOC_SOURCES}
45
46 QM_MAN1_SOURCES= \
47 qm.adoc \
48 qm.1-synopsis.adoc \
49 ${PVE_COMMON_DOC_SOURCES}
50
51 QMRESTORE_MAN1_SOURCES= \
52 qmrestore.adoc \
53 qmrestore.1-synopsis.adoc \
54 ${PVE_COMMON_DOC_SOURCES}
55
56 PVEUM_MAN1_SOURCES= \
57 pveum.adoc \
58 pveum.1-synopsis.adoc \
59 ${PVE_COMMON_DOC_SOURCES}
60
61 attributes.txt docinfo.xml:
62 cp ${DGDIR}/$@ $@.tmp
63 mv $@.tmp $@
64
65 %-opts.adoc: ${DGDIR}/gen-%-opts.pl
66 ${DGDIR}/gen-$*-opts.pl >$@.tmp
67 mv $@.tmp $@
68
69 %.adoc: ${DGDIR}/gen-%-adoc.pl
70 ${DGDIR}/gen-$*-adoc.pl >$@.tmp
71 mv $@.tmp $@
72
73 %.1-synopsis.adoc:
74 perl -I. -e "use PVE::CLI::$(subst -,_,$*);print PVE::CLI::$(subst -,_,$*)->generate_asciidoc_synopsys();" > $@.tmp
75 mv $@.tmp $@
76
77 %.8-synopsis.adoc:
78 perl -I. -e "use PVE::Service::$(subst -,_,$*);print PVE::Service::$(subst -,_,$*)->generate_asciidoc_synopsys();" > $@.tmp
79 mv $@.tmp $@
80
81 ifneq (${DGDIR},.)
82 %.adoc: ${DGDIR}/%.adoc
83 cp $< $@.tmp
84 mv $@.tmp $@
85 endif
86
87 pve-firewall.8: ${PVE_FIREWALL_MAN8_SOURCES}
88 a2x -a docinfo1 -a "manvolnum=8" -a "manversion=Release ${DOCRELEASE}" -f manpage pve-firewall.adoc
89 test -n "$${NOVIEW}" || man -l $@
90
91 pvesm.1: ${PVESM_MAN1_SOURCES}
92 a2x -a docinfo1 -a "manvolnum=1" -a "manversion=Release ${DOCRELEASE}" -f manpage pvesm.adoc
93 test -n "$${NOVIEW}" || man -l $@
94
95 pct.1: ${PCT_MAN1_SOURCES}
96 a2x -a docinfo1 -a "manvolnum=1" -a "manversion=Release ${DOCRELEASE}" -f manpage pct.adoc
97 test -n "$${NOVIEW}" || man -l $@
98
99 qm.1: ${QM_MAN1_SOURCES}
100 a2x -a docinfo1 -a "manvolnum=1" -a "manversion=Release ${DOCRELEASE}" -f manpage qm.adoc
101 test -n "$${NOVIEW}" || man -l $@
102
103 qmrestore.1: ${QMRESTORE_MAN1_SOURCES}
104 a2x -a docinfo1 -a "manvolnum=1" -a "manversion=Release ${DOCRELEASE}" -f manpage qmrestore.adoc
105 test -n "$${NOVIEW}" || man -l $@
106
107 pvecm.1: ${PVECM_MAN1_SOURCES}
108 a2x -a docinfo1 -a "manvolnum=1" -a "manversion=Release ${DOCRELEASE}" -f manpage pvecm.adoc
109 test -n "$${NOVIEW}" || man -l $@
110
111 pveum.1: ${PVEUM_MAN1_SOURCES}
112 a2x -a docinfo1 -a "manvolnum=1" -a "manversion=Release ${DOCRELEASE}" -f manpage pveum.adoc
113 test -n "$${NOVIEW}" || man -l $@
114
115 %.5: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
116 a2x -a docinfo1 -a "manvolnum=5" -a "manversion=Release ${DOCRELEASE}" -f manpage $*.adoc
117 test -n "$${NOVIEW}" || man -l $@
118
119 .PHONY: cleanup-docgen
120 cleanup-docgen:
121 rm -f *.1 *.8 *.adoc attributes.txt docinfo.xml