596f7dd7a4cc4b6c7bd7b888c5728911ef4a2557
[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 PCT_CONF_MAN5_SOURCE= \
47 pct.conf.adoc \
48 pct.conf.5-opts.adoc \
49 ${PVE_COMMON_DOC_SOURCES}
50
51 QM_MAN1_SOURCES= \
52 qm.adoc \
53 qm.1-synopsis.adoc \
54 ${PVE_COMMON_DOC_SOURCES}
55
56 QM_CONF_MAN5_SOURCE= \
57 qm.conf.adoc \
58 qm.conf.5-opts.adoc \
59 ${PVE_COMMON_DOC_SOURCES}
60
61 QMRESTORE_MAN1_SOURCES= \
62 qmrestore.adoc \
63 qmrestore.1-synopsis.adoc \
64 ${PVE_COMMON_DOC_SOURCES}
65
66 PVEUM_MAN1_SOURCES= \
67 pveum.adoc \
68 pveum.1-synopsis.adoc \
69 ${PVE_COMMON_DOC_SOURCES}
70
71 HA_MANAGER_MAN1_SOURCES= \
72 ha-manager.adoc \
73 ha-manager.1-synopsis.adoc \
74 ${PVE_COMMON_DOC_SOURCES}
75
76 PVE_HA_CRM_MAN8_SOURCES= \
77 pve-ha-crm.adoc \
78 pve-ha-crm.8-synopsis.adoc \
79 ${PVE_COMMON_DOC_SOURCES}
80
81 PVE_HA_LRM_MAN8_SOURCES= \
82 pve-ha-lrm.adoc \
83 pve-ha-lrm.8-synopsis.adoc \
84 ${PVE_COMMON_DOC_SOURCES}
85
86 PVESTATD_MAN8_SOURCES= \
87 pvestatd.adoc \
88 pvestatd.8-synopsis.adoc \
89 ${PVE_COMMON_DOC_SOURCES}
90
91 attributes.txt docinfo.xml:
92 cp ${DGDIR}/$@ $@.tmp
93 mv $@.tmp $@
94
95 %-opts.adoc: ${DGDIR}/gen-%-opts.pl
96 ${DGDIR}/gen-$*-opts.pl >$@.tmp
97 mv $@.tmp $@
98
99 %.adoc: ${DGDIR}/gen-%-adoc.pl
100 ${DGDIR}/gen-$*-adoc.pl >$@.tmp
101 mv $@.tmp $@
102
103 %.1-synopsis.adoc:
104 perl -I. -e "use PVE::CLI::$(subst -,_,$*);print PVE::CLI::$(subst -,_,$*)->generate_asciidoc_synopsys();" > $@.tmp
105 mv $@.tmp $@
106
107 %.8-synopsis.adoc:
108 perl -I. -e "use PVE::Service::$(subst -,_,$*);print PVE::Service::$(subst -,_,$*)->generate_asciidoc_synopsys();" > $@.tmp
109 mv $@.tmp $@
110
111 ifneq (${DGDIR},.)
112 %.adoc: ${DGDIR}/%.adoc
113 cp $< $@.tmp
114 mv $@.tmp $@
115 endif
116
117 A2X_MAN_COMMON_OPTIONS=-a docinfo1 -a "manversion=Release ${DOCRELEASE}" -f manpage
118 A2X_MAN1_OPTIONS=${A2X_MAN_COMMON_OPTIONS} -a "manvolnum=1"
119 A2X_MAN5_OPTIONS=${A2X_MAN_COMMON_OPTIONS} -a "manvolnum=5"
120 A2X_MAN8_OPTIONS=${A2X_MAN_COMMON_OPTIONS} -a "manvolnum=8"
121
122 pve-firewall.8: ${PVE_FIREWALL_MAN8_SOURCES}
123 a2x ${A2X_MAN8_OPTIONS} pve-firewall.adoc
124 test -n "$${NOVIEW}" || man -l $@
125
126 pvesm.1: ${PVESM_MAN1_SOURCES}
127 a2x ${A2X_MAN1_OPTIONS} pvesm.adoc
128 test -n "$${NOVIEW}" || man -l $@
129
130 pct.1: ${PCT_MAN1_SOURCES}
131 a2x ${A2X_MAN1_OPTIONS} pct.adoc
132 test -n "$${NOVIEW}" || man -l $@
133
134 qm.1: ${QM_MAN1_SOURCES}
135 a2x ${A2X_MAN1_OPTIONS} qm.adoc
136 test -n "$${NOVIEW}" || man -l $@
137
138 qmrestore.1: ${QMRESTORE_MAN1_SOURCES}
139 a2x ${A2X_MAN1_OPTIONS} qmrestore.adoc
140 test -n "$${NOVIEW}" || man -l $@
141
142 pvecm.1: ${PVECM_MAN1_SOURCES}
143 a2x ${A2X_MAN1_OPTIONS} pvecm.adoc
144 test -n "$${NOVIEW}" || man -l $@
145
146 pveum.1: ${PVEUM_MAN1_SOURCES}
147 a2x ${A2X_MAN1_OPTIONS} pveum.adoc
148 test -n "$${NOVIEW}" || man -l $@
149
150 ha-manager.1: ${HA_MANAGER_MAN1_SOURCES}
151 a2x ${A2X_MAN1_OPTIONS} ha-manager.adoc
152 test -n "$${NOVIEW}" || man -l $@
153
154 pve-ha-crm.8: ${PVE_HA_CRM_MAN8_SOURCES}
155 a2x ${A2X_MAN8_OPTIONS} manpage pve-ha-crm.adoc
156 test -n "$${NOVIEW}" || man -l $@
157
158 pve-ha-lrm.8: ${PVE_HA_LRM_MAN8_SOURCES}
159 a2x ${A2X_MAN8_OPTIONS} pve-ha-lrm.adoc
160 test -n "$${NOVIEW}" || man -l $@
161
162 pvestatd.8: ${PVESTATD_MAN8_SOURCES}
163 a2x ${A2X_MAN8_OPTIONS} pvestatd.adoc
164 test -n "$${NOVIEW}" || man -l $@
165
166 qm.conf.5: ${QM_CONF_MAN5_SOURCE}
167
168 pct.conf.5: ${PCT_CONF_MAN5_SOURCE}
169
170 %.5: %.adoc %.5-opts.adoc ${PVE_COMMON_DOC_SOURCES}
171 a2x ${A2X_MAN5_OPTIONS} $*.adoc
172 test -n "$${NOVIEW}" || man -l $@
173
174 .PHONY: cleanup-docgen
175 cleanup-docgen:
176 rm -f *.1 *.5 *.8 *.adoc attributes.txt docinfo.xml