3 GENERATED_SYNOPSIS
:= \
4 proxmox-tape
/synopsis.rst \
5 proxmox-backup-client
/synopsis.rst \
6 proxmox-backup-client
/catalog-shell-synopsis.rst \
7 proxmox-backup-manager
/synopsis.rst \
8 proxmox-backup-debug
/synopsis.rst \
9 proxmox-file-restore
/synopsis.rst \
13 config
/media-pool
/config.rst \
14 config
/tape
/config.rst \
15 config
/tape-job
/config.rst \
16 config
/user
/config.rst \
17 config
/remote
/config.rst \
18 config
/sync
/config.rst \
19 config
/verification
/config.rst \
20 config
/acl
/roles.rst \
21 config
/datastore
/config.rst
28 proxmox-backup-proxy
.1 \
29 proxmox-backup-client
.1 \
30 proxmox-backup-manager
.1 \
31 proxmox-file-restore
.1 \
32 proxmox-backup-debug
.1
45 PRUNE_SIMULATOR_FILES
:= \
46 prune-simulator
/index.html \
47 prune-simulator
/documentation.html \
48 prune-simulator
/clear-trigger.png \
49 prune-simulator
/prune-simulator.js
51 PRUNE_SIMULATOR_JS_SOURCE
:= \
52 /usr
/share
/javascript
/proxmox-widget-toolkit-dev
/Toolkit.js \
53 prune-simulator
/prune-simulator_source.js
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
68 LTO_BARCODE_FILES
:= \
69 lto-barcode
/index.html \
70 lto-barcode
/lto-barcode-generator.js
73 api-viewer
/index.html \
77 api-viewer
/apidata.js \
78 /usr
/share
/javascript
/proxmox-widget-toolkit-dev
/APIViewer.js \
80 # Sphinx documentation setup
82 SPHINXBUILD
= sphinx-build
85 ifeq ($(BUILD_MODE
), release
)
86 COMPILEDIR
:= ..
/target
/release
87 SPHINXOPTS
+= -t release
89 COMPILEDIR
:= ..
/target
/debug
90 SPHINXOPTS
+= -t devbuild
93 # Sphinx internal variables.
94 ALLSPHINXOPTS
= -d
$(BUILDDIR
)/doctrees
$(SPHINXOPTS
) .
96 all: ${MAN1_PAGES} ${MAN5_PAGES}
98 config
/%/config.rst
: ${COMPILEDIR}/docgen
99 ${COMPILEDIR}/docgen
$*.cfg
>$@
101 config
/acl
/roles.rst
: ${COMPILEDIR}/docgen
102 ${COMPILEDIR}/docgen
"config::acl::Role" >$@
104 %/synopsis.rst
: ${COMPILEDIR}/%
107 proxmox-backup-client
/catalog-shell-synopsis.rst
: ${COMPILEDIR}/dump-catalog-shell-cli
108 ${COMPILEDIR}/dump-catalog-shell-cli
> proxmox-backup-client
/catalog-shell-synopsis.rst
110 ${MAN1_PAGES} ${MAN5_PAGES}: man-pages
113 man-pages
: ${GENERATED_SYNOPSIS}
114 ${SPHINXBUILD} ${SPHINXOPTS} -b man .
/ ${BUILDDIR}/man
116 .PHONY
: onlinehelpinfo
118 @echo
"Generating OnlineHelpInfo.js..."
119 $(SPHINXBUILD
) -b proxmox-scanrefs
-Q
$(ALLSPHINXOPTS
) $(BUILDDIR
)/scanrefs
120 @echo
"Build finished. OnlineHelpInfo.js is in $(BUILDDIR)/scanrefs."
122 api-viewer
/apidata.js
: ${COMPILEDIR}/docgen
123 ${COMPILEDIR}/docgen apidata.js
>$@
125 api-viewer
/apidoc.js
: ${API_VIEWER_FILES}
126 cat
${API_VIEWER_FILES} >$@.tmp
129 prune-simulator
/prune-simulator.js
: ${PRUNE_SIMULATOR_JS_SOURCE}
130 cat
${PRUNE_SIMULATOR_JS_SOURCE} >$@.tmp
133 lto-barcode
/lto-barcode-generator.js
: ${LTO_BARCODE_JS_SOURCE}
134 cat
${LTO_BARCODE_JS_SOURCE} >$@.tmp
138 html
: ${GENERATED_SYNOPSIS} images
/proxmox-logo.svg custom.css conf.py
${PRUNE_SIMULATOR_FILES} ${LTO_BARCODE_FILES} ${API_VIEWER_SOURCES}
139 $(SPHINXBUILD
) -b html
$(ALLSPHINXOPTS
) $(BUILDDIR
)/html
140 install -m
0644 custom.js custom.css images
/proxmox-logo.svg
$(BUILDDIR
)/html
/_static
/
141 install -dm
0755 $(BUILDDIR
)/html
/prune-simulator
142 install -m
0644 ${PRUNE_SIMULATOR_FILES} $(BUILDDIR
)/html
/prune-simulator
143 install -dm
0755 $(BUILDDIR
)/html
/lto-barcode
144 install -m
0644 ${LTO_BARCODE_FILES} $(BUILDDIR
)/html
/lto-barcode
145 install -dm
0755 $(BUILDDIR
)/html
/api-viewer
146 install -m
0644 ${API_VIEWER_SOURCES} $(BUILDDIR
)/html
/api-viewer
148 @echo
"Build finished. The HTML pages are in $(BUILDDIR)/html."
151 latexpdf
: ${GENERATED_SYNOPSIS}
152 @echo
"Requires python3-sphinx, texlive-xetex, xindy and texlive-fonts-extra"
153 $(SPHINXBUILD
) -b latex
$(ALLSPHINXOPTS
) $(BUILDDIR
)/latex
154 @echo
"Running LaTeX files through xelatex..."
155 $(MAKE
) -C
$(BUILDDIR
)/latex all-pdf
156 @echo
"xelatex finished; the PDF files are in $(BUILDDIR)/latex."
159 epub3
: ${GENERATED_SYNOPSIS}
160 $(SPHINXBUILD
) -b epub3
$(ALLSPHINXOPTS
) $(BUILDDIR
)/epub3
162 @echo
"Build finished. The epub3 file is in $(BUILDDIR)/epub3."
165 rm -r
-f
*~
*.1 ${BUILDDIR} ${GENERATED_SYNOPSIS} api-viewer
/apidata.js
166 rm -f api-viewer
/apidoc.js lto-barcode
/lto-barcode-generator.js prune-simulator
/prune-simulator.js
168 install_manual_pages
: man-pages
169 install -dm755
$(DESTDIR
)$(MAN1DIR
)
170 for i in
${MAN1_PAGES}; do
install -m755
${BUILDDIR}/man
/$$i $(DESTDIR
)$(MAN1DIR
)/ ; done
171 install -dm755
$(DESTDIR
)$(MAN5DIR
)
172 for i in
${MAN5_PAGES}; do
install -m755
${BUILDDIR}/man
/$$i $(DESTDIR
)$(MAN5DIR
)/ ; done
175 install -dm755
$(DESTDIR
)$(DOCDIR
)
176 rsync
-a
${BUILDDIR}/html
$(DESTDIR
)$(DOCDIR
)
178 install_pdf
: latexpdf
179 install -dm755
$(DESTDIR
)$(DOCDIR
)
180 install -m
0644 output
/latex
/ProxmoxBackup.pdf
$(DESTDIR
)$(DOCDIR
)/proxmox-backup.pdf
182 ifneq ($(filter nodoc
,$(DEB_BUILD_PROFILES
)),)
184 install: install_manual_pages
188 install: install_manual_pages install_html install_pdf