]>
Commit | Line | Data |
---|---|---|
bb5c7707 DM |
1 | include ../defines.mk |
2 | ||
4bf0cc3b | 3 | GENERATED_SYNOPSIS := \ |
bebd4a7c | 4 | proxmox-tape/synopsis.rst \ |
4bf0cc3b DM |
5 | proxmox-backup-client/synopsis.rst \ |
6 | proxmox-backup-client/catalog-shell-synopsis.rst \ | |
7 | proxmox-backup-manager/synopsis.rst \ | |
df12c9ec | 8 | proxmox-backup-debug/synopsis.rst \ |
76425d84 | 9 | proxmox-file-restore/synopsis.rst \ |
4bf0cc3b | 10 | pxar/synopsis.rst \ |
c9727044 | 11 | pmtx/synopsis.rst \ |
4c209d6b | 12 | pmt/synopsis.rst \ |
167e5406 | 13 | config/media-pool/config.rst \ |
c111c9a9 | 14 | config/tape/config.rst \ |
7ca0ba45 | 15 | config/tape-job/config.rst \ |
67cc79ec | 16 | config/user/config.rst \ |
d8dae160 DM |
17 | config/remote/config.rst \ |
18 | config/sync/config.rst \ | |
5b7f4455 | 19 | config/verification/config.rst \ |
2ca396c0 | 20 | config/acl/roles.rst \ |
4a0d3a3e | 21 | config/datastore/config.rst |
bb5c7707 | 22 | |
4a0d3a3e | 23 | MAN1_PAGES := \ |
e4a5ab8d | 24 | pxar.1 \ |
c9727044 | 25 | pmtx.1 \ |
4c209d6b | 26 | pmt.1 \ |
bebd4a7c | 27 | proxmox-tape.1 \ |
b933ed7f | 28 | proxmox-backup-proxy.1 \ |
028bd254 | 29 | proxmox-backup-client.1 \ |
76425d84 | 30 | proxmox-backup-manager.1 \ |
df12c9ec WB |
31 | proxmox-file-restore.1 \ |
32 | proxmox-backup-debug.1 | |
7ef486ae | 33 | |
4a0d3a3e | 34 | MAN5_PAGES := \ |
bb71e3a0 | 35 | media-pool.cfg.5 \ |
c111c9a9 | 36 | tape.cfg.5 \ |
7ca0ba45 | 37 | tape-job.cfg.5 \ |
2ca396c0 | 38 | acl.cfg.5 \ |
67cc79ec | 39 | user.cfg.5 \ |
6279b8f5 | 40 | remote.cfg.5 \ |
d8dae160 | 41 | sync.cfg.5 \ |
5b7f4455 | 42 | verification.cfg.5 \ |
4a0d3a3e DM |
43 | datastore.cfg.5 |
44 | ||
3323798b FE |
45 | PRUNE_SIMULATOR_FILES := \ |
46 | prune-simulator/index.html \ | |
47 | prune-simulator/documentation.html \ | |
21b55284 | 48 | prune-simulator/clear-trigger.png \ |
3323798b | 49 | prune-simulator/prune-simulator.js |
7ef486ae | 50 | |
442d6da8 DC |
51 | PRUNE_SIMULATOR_JS_SOURCE := \ |
52 | /usr/share/javascript/proxmox-widget-toolkit-dev/Toolkit.js \ | |
53 | prune-simulator/prune-simulator_source.js | |
54 | ||
d7386690 DC |
55 | LTO_BARCODE_JS_SOURCE := \ |
56 | /usr/share/javascript/proxmox-widget-toolkit-dev/Toolkit.js \ | |
57 | lto-barcode/code39.js \ | |
58 | lto-barcode/prefix-field.js \ | |
59 | lto-barcode/label-style.js \ | |
60 | lto-barcode/tape-type.js \ | |
61 | lto-barcode/paper-size.js \ | |
62 | lto-barcode/page-layout.js \ | |
63 | lto-barcode/page-calibration.js \ | |
64 | lto-barcode/label-list.js \ | |
65 | lto-barcode/label-setup.js \ | |
66 | lto-barcode/lto-barcode.js | |
67 | ||
4a227b54 DM |
68 | LTO_BARCODE_FILES := \ |
69 | lto-barcode/index.html \ | |
d7386690 | 70 | lto-barcode/lto-barcode-generator.js |
4a227b54 | 71 | |
1adbc7c1 DM |
72 | API_VIEWER_SOURCES= \ |
73 | api-viewer/index.html \ | |
74 | api-viewer/apidoc.js | |
75 | ||
85417b2a DC |
76 | API_VIEWER_FILES := \ |
77 | api-viewer/apidata.js \ | |
78 | /usr/share/javascript/proxmox-widget-toolkit-dev/APIViewer.js \ | |
79 | ||
7ef486ae DM |
80 | # Sphinx documentation setup |
81 | SPHINXOPTS = | |
82 | SPHINXBUILD = sphinx-build | |
7ef486ae DM |
83 | BUILDDIR = output |
84 | ||
3a998863 TL |
85 | ifeq ($(BUILD_MODE), release) |
86 | COMPILEDIR := ../target/release | |
87 | SPHINXOPTS += -t release | |
88 | else | |
89 | COMPILEDIR := ../target/debug | |
90 | SPHINXOPTS += -t devbuild | |
91 | endif | |
92 | ||
7ef486ae | 93 | # Sphinx internal variables. |
c5ff1241 | 94 | ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(SPHINXOPTS) . |
7ef486ae | 95 | |
4a0d3a3e | 96 | all: ${MAN1_PAGES} ${MAN5_PAGES} |
7ef486ae DM |
97 | |
98 | # Build manual pages using rst2man | |
99 | ||
e4a5ab8d DM |
100 | pxar/synopsis.rst: ${COMPILEDIR}/pxar |
101 | ${COMPILEDIR}/pxar printdoc > pxar/synopsis.rst | |
102 | ||
103 | pxar.1: pxar/man1.rst pxar/description.rst pxar/synopsis.rst | |
104 | rst2man $< >$@ | |
105 | ||
c9727044 DM |
106 | |
107 | pmtx/synopsis.rst: ${COMPILEDIR}/pmtx | |
108 | ${COMPILEDIR}/pmtx printdoc > pmtx/synopsis.rst | |
109 | ||
110 | pmtx.1: pmtx/man1.rst pmtx/description.rst pmtx/synopsis.rst | |
111 | rst2man $< >$@ | |
112 | ||
113 | ||
4c209d6b DM |
114 | pmt/synopsis.rst: ${COMPILEDIR}/pmt |
115 | ${COMPILEDIR}/pmt printdoc > pmt/synopsis.rst | |
116 | ||
bebd4a7c | 117 | pmt.1: pmt/man1.rst pmt/description.rst pmt/options.rst pmt/synopsis.rst |
4c209d6b DM |
118 | rst2man $< >$@ |
119 | ||
4a0d3a3e DM |
120 | config/datastore/config.rst: ${COMPILEDIR}/docgen |
121 | ${COMPILEDIR}/docgen datastore.cfg >$@ | |
122 | ||
6279b8f5 | 123 | datastore.cfg.5: config/datastore/man5.rst config/datastore/config.rst config/datastore/format.rst |
4a0d3a3e | 124 | rst2man $< >$@ |
4c209d6b | 125 | |
67cc79ec DM |
126 | config/user/config.rst: ${COMPILEDIR}/docgen |
127 | ${COMPILEDIR}/docgen user.cfg >$@ | |
128 | ||
6279b8f5 DM |
129 | user.cfg.5: config/user/man5.rst config/user/config.rst config/user/format.rst |
130 | rst2man $< >$@ | |
131 | ||
132 | config/remote/config.rst: ${COMPILEDIR}/docgen | |
133 | ${COMPILEDIR}/docgen remote.cfg >$@ | |
134 | ||
135 | remote.cfg.5: config/remote/man5.rst config/remote/config.rst config/remote/format.rst | |
67cc79ec DM |
136 | rst2man $< >$@ |
137 | ||
d8dae160 DM |
138 | config/sync/config.rst: ${COMPILEDIR}/docgen |
139 | ${COMPILEDIR}/docgen sync.cfg >$@ | |
140 | ||
141 | sync.cfg.5: config/sync/man5.rst config/sync/config.rst config/sync/format.rst | |
142 | rst2man $< >$@ | |
143 | ||
5b7f4455 DM |
144 | config/verification/config.rst: ${COMPILEDIR}/docgen |
145 | ${COMPILEDIR}/docgen verification.cfg >$@ | |
146 | ||
147 | verification.cfg.5: config/verification/man5.rst config/verification/config.rst config/verification/format.rst | |
148 | rst2man $< >$@ | |
149 | ||
2ca396c0 DM |
150 | config/acl/roles.rst: ${COMPILEDIR}/docgen |
151 | ${COMPILEDIR}/docgen "config::acl::Role" >$@ | |
152 | ||
153 | acl.cfg.5: config/acl/man5.rst config/acl/roles.rst config/acl/format.rst | |
154 | rst2man $< >$@ | |
155 | ||
bb71e3a0 DM |
156 | config/media-pool/config.rst: ${COMPILEDIR}/docgen |
157 | ${COMPILEDIR}/docgen media-pool.cfg >$@ | |
158 | ||
159 | media-pool.cfg.5: config/media-pool/man5.rst config/media-pool/config.rst config/media-pool/format.rst | |
160 | rst2man $< >$@ | |
161 | ||
c111c9a9 DM |
162 | config/tape/config.rst: ${COMPILEDIR}/docgen |
163 | ${COMPILEDIR}/docgen tape.cfg >$@ | |
164 | ||
165 | tape.cfg.5: config/tape/man5.rst config/tape/config.rst config/tape/format.rst | |
166 | rst2man $< >$@ | |
167 | ||
7ca0ba45 DM |
168 | config/tape-job/config.rst: ${COMPILEDIR}/docgen |
169 | ${COMPILEDIR}/docgen tape-job.cfg >$@ | |
170 | ||
171 | tape-job.cfg.5: config/tape-job/man5.rst config/tape-job/config.rst config/tape-job/format.rst | |
172 | rst2man $< >$@ | |
173 | ||
bebd4a7c DM |
174 | proxmox-tape/synopsis.rst: ${COMPILEDIR}/proxmox-tape |
175 | ${COMPILEDIR}/proxmox-tape printdoc > proxmox-tape/synopsis.rst | |
176 | ||
177 | proxmox-tape.1: proxmox-tape/man1.rst proxmox-tape/description.rst proxmox-tape/synopsis.rst | |
178 | rst2man $< >$@ | |
179 | ||
7ef486ae | 180 | proxmox-backup-client/synopsis.rst: ${COMPILEDIR}/proxmox-backup-client |
bb5c7707 | 181 | ${COMPILEDIR}/proxmox-backup-client printdoc > proxmox-backup-client/synopsis.rst |
7ef486ae | 182 | |
4bf0cc3b DM |
183 | proxmox-backup-client/catalog-shell-synopsis.rst: ${COMPILEDIR}/dump-catalog-shell-cli |
184 | ${COMPILEDIR}/dump-catalog-shell-cli > proxmox-backup-client/catalog-shell-synopsis.rst | |
185 | ||
186 | proxmox-backup-client.1: proxmox-backup-client/man1.rst proxmox-backup-client/description.rst proxmox-backup-client/synopsis.rst proxmox-backup-client/catalog-shell-synopsis.rst | |
bb5c7707 DM |
187 | rst2man $< >$@ |
188 | ||
028bd254 DM |
189 | proxmox-backup-manager/synopsis.rst: ${COMPILEDIR}/proxmox-backup-manager |
190 | ${COMPILEDIR}/proxmox-backup-manager printdoc > proxmox-backup-manager/synopsis.rst | |
191 | ||
192 | proxmox-backup-manager.1: proxmox-backup-manager/man1.rst proxmox-backup-manager/description.rst proxmox-backup-manager/synopsis.rst | |
193 | rst2man $< >$@ | |
194 | ||
b933ed7f DM |
195 | proxmox-backup-proxy.1: proxmox-backup-proxy/man1.rst proxmox-backup-proxy/description.rst |
196 | rst2man $< >$@ | |
197 | ||
76425d84 DC |
198 | proxmox-file-restore/synopsis.rst: ${COMPILEDIR}/proxmox-file-restore |
199 | ${COMPILEDIR}/proxmox-file-restore printdoc > proxmox-file-restore/synopsis.rst | |
200 | ||
201 | proxmox-file-restore.1: proxmox-file-restore/man1.rst proxmox-file-restore/description.rst proxmox-file-restore/synopsis.rst | |
202 | rst2man $< >$@ | |
203 | ||
df12c9ec WB |
204 | proxmox-backup-debug/synopsis.rst: ${COMPILEDIR}/proxmox-backup-debug |
205 | ${COMPILEDIR}/proxmox-backup-debug printdoc > proxmox-backup-debug/synopsis.rst | |
206 | ||
207 | proxmox-backup-debug.1: proxmox-backup-debug/man1.rst proxmox-backup-debug/description.rst proxmox-backup-debug/synopsis.rst | |
208 | rst2man $< >$@ | |
209 | ||
49df8ac1 OB |
210 | .PHONY: onlinehelpinfo |
211 | onlinehelpinfo: | |
212 | @echo "Generating OnlineHelpInfo.js..." | |
3c06eba1 | 213 | $(SPHINXBUILD) -b proxmox-scanrefs -Q $(ALLSPHINXOPTS) $(BUILDDIR)/scanrefs |
49df8ac1 OB |
214 | @echo "Build finished. OnlineHelpInfo.js is in $(BUILDDIR)/scanrefs." |
215 | ||
1adbc7c1 DM |
216 | api-viewer/apidata.js: ${COMPILEDIR}/docgen |
217 | ${COMPILEDIR}/docgen apidata.js >$@ | |
218 | ||
85417b2a DC |
219 | api-viewer/apidoc.js: ${API_VIEWER_FILES} |
220 | cat ${API_VIEWER_FILES} >$@.tmp | |
221 | mv $@.tmp $@ | |
1adbc7c1 | 222 | |
442d6da8 DC |
223 | prune-simulator/prune-simulator.js: ${PRUNE_SIMULATOR_JS_SOURCE} |
224 | cat ${PRUNE_SIMULATOR_JS_SOURCE} >$@.tmp | |
225 | mv $@.tmp $@ | |
226 | ||
d7386690 DC |
227 | lto-barcode/lto-barcode-generator.js: ${LTO_BARCODE_JS_SOURCE} |
228 | cat ${LTO_BARCODE_JS_SOURCE} >$@.tmp | |
229 | mv $@.tmp $@ | |
230 | ||
7ef486ae | 231 | .PHONY: html |
1adbc7c1 | 232 | html: ${GENERATED_SYNOPSIS} images/proxmox-logo.svg custom.css conf.py ${PRUNE_SIMULATOR_FILES} ${LTO_BARCODE_FILES} ${API_VIEWER_SOURCES} |
7ef486ae | 233 | $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html |
8a40e226 | 234 | install -m 0644 custom.js custom.css images/proxmox-logo.svg $(BUILDDIR)/html/_static/ |
3323798b FE |
235 | install -dm 0755 $(BUILDDIR)/html/prune-simulator |
236 | install -m 0644 ${PRUNE_SIMULATOR_FILES} $(BUILDDIR)/html/prune-simulator | |
4a227b54 DM |
237 | install -dm 0755 $(BUILDDIR)/html/lto-barcode |
238 | install -m 0644 ${LTO_BARCODE_FILES} $(BUILDDIR)/html/lto-barcode | |
1adbc7c1 DM |
239 | install -dm 0755 $(BUILDDIR)/html/api-viewer |
240 | install -m 0644 ${API_VIEWER_SOURCES} $(BUILDDIR)/html/api-viewer | |
7ef486ae DM |
241 | @echo |
242 | @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." | |
243 | ||
244 | .PHONY: latexpdf | |
177db84b | 245 | latexpdf: ${GENERATED_SYNOPSIS} |
fc598cdb | 246 | @echo "Requires python3-sphinx, texlive-xetex, xindy and texlive-fonts-extra" |
7ef486ae | 247 | $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex |
15d74eaa | 248 | @echo "Running LaTeX files through xelatex..." |
7ef486ae | 249 | $(MAKE) -C $(BUILDDIR)/latex all-pdf |
15d74eaa | 250 | @echo "xelatex finished; the PDF files are in $(BUILDDIR)/latex." |
bb5c7707 | 251 | |
7ef486ae | 252 | .PHONY: epub3 |
177db84b | 253 | epub3: ${GENERATED_SYNOPSIS} |
7ef486ae DM |
254 | $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3 |
255 | @echo | |
256 | @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3." | |
bb5c7707 DM |
257 | |
258 | clean: | |
1adbc7c1 | 259 | rm -r -f *~ *.1 ${BUILDDIR} ${GENERATED_SYNOPSIS} api-viewer/apidata.js |
13a24457 | 260 | rm -f api-viewer/apidoc.js lto-barcode/lto-barcode-generator.js prune-simulator/prune-simulator.js |
bb5c7707 | 261 | |
720776b8 | 262 | |
4a0d3a3e | 263 | install_manual_pages: ${MAN1_PAGES} ${MAN5_PAGES} |
bb5c7707 | 264 | install -dm755 $(DESTDIR)$(MAN1DIR) |
4a0d3a3e DM |
265 | for i in ${MAN1_PAGES}; do install -m755 $$i $(DESTDIR)$(MAN1DIR)/ ; done |
266 | install -dm755 $(DESTDIR)$(MAN5DIR) | |
267 | for i in ${MAN5_PAGES}; do install -m755 $$i $(DESTDIR)$(MAN5DIR)/ ; done | |
720776b8 DM |
268 | |
269 | install_html: html | |
270 | install -dm755 $(DESTDIR)$(DOCDIR) | |
da0e1e40 | 271 | rsync -a ${BUILDDIR}/html $(DESTDIR)$(DOCDIR) |
720776b8 DM |
272 | |
273 | install_pdf: latexpdf | |
274 | install -dm755 $(DESTDIR)$(DOCDIR) | |
275 | install -m 0644 output/latex/ProxmoxBackup.pdf $(DESTDIR)$(DOCDIR)/proxmox-backup.pdf | |
276 | ||
277 | ifneq ($(filter nodoc,$(DEB_BUILD_PROFILES)),) | |
278 | ||
279 | install: install_manual_pages | |
280 | ||
281 | else | |
282 | ||
283 | install: install_manual_pages install_html install_pdf | |
284 | ||
285 | endif |