forked from ThomasLamprecht/pve-docs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile
146 lines (116 loc) · 4.84 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
RELEASE=4.1
PVESM_SOURCES=attributes.txt pvesm.adoc pvesm.1-synopsis.adoc $(shell ls pve-storage-*.adoc)
PVEUM_SOURCES=attributes.txt pveum.adoc pveum.1-synopsis.adoc
VZDUMP_SOURCES=attributes.txt vzdump.adoc vzdump.1-synopsis.adoc
PVEFW_SOURCES=attributes.txt pve-firewall.adoc pve-firewall-rules-opts.adoc pve-firewall-cluster-opts.adoc pve-firewall-host-opts.adoc pve-firewall-vm-opts.adoc pve-firewall-macros.adoc pve-firewall.8-synopsis.adoc
QM_SOURCES=attributes.txt qm.adoc qm.1-synopsis.adoc
PCT_SOURCES=attributes.txt pct.adoc pct.1-synopsis.adoc
PVEAM_SOURCES=attributes.txt pveam.adoc pveam.1-synopsis.adoc
HA_SOURCES=attributes.txt ha-manager.1-synopsis.adoc ha-manager.adoc
SYSADMIN_SOURCES= \
getting-help.adoc \
pve-package-repos.adoc \
pve-installation.adoc \
system-software-updates.adoc \
sysadmin.adoc
PVE_ADMIN_GUIDE_SOURCES= \
datacenter.cfg.adoc \
datacenter.cfg.5-opts.adoc \
vm.conf.adoc \
vm.conf.5-opts.adoc \
pct.conf.adoc \
pct.conf.5-opts.adoc \
${SYSADMIN_SOURCES} \
pve-admin-guide.adoc \
pve-intro.adoc \
pmxcfs.adoc \
pve-faq.adoc \
${QM_SOURCES} \
${PCT_SOURCES} \
${PVEAM_SOURCES} \
${PVEFW_SOURCES} \
${PVEUM_SOURCES} \
${PVESM_SOURCES} \
${VZDUMP_SOURCES} \
${HA_SOURCES} \
images/cluster-nwdiag.svg \
images/node-nwdiag.svg \
pve-bibliography.adoc \
GFDL.adoc \
attributes.txt
ADOC_STDARG= -a icons -a data-uri -a "date=$(shell date)"
ADOC_MAN1_HTML_ARGS=-a "manvolnum=1" ${ADOC_STDARG} -a "revnumber=${RELEASE}"
ADOC_MAN5_HTML_ARGS=-a "manvolnum=5" ${ADOC_STDARG} -a "revnumber=${RELEASE}"
ADOC_MAN8_HTML_ARGS=-a "manvolnum=8" ${ADOC_STDARG} -a "revnumber=${RELEASE}"
BROWSER?=xdg-open
all: pve-admin-guide.html
%-nwdiag.svg: %.nwdiag
nwdiag -T svg $*.nwdiag -o $@;
%.1-synopsis.adoc:
perl -e "use PVE::CLI::$(subst -,_,$*);print PVE::CLI::$(subst -,_,$*)->generate_asciidoc_synopsys();" > $@.tmp
mv $@.tmp $@
%.1: %.adoc %.1-synopsis.adoc docinfo.xml
a2x -a docinfo1 -a "manvolnum=1" -a "manversion=Release ${RELEASE}" -f manpage $*.adoc
test -z "$${NOVIEW}" && man -l $@
%.1.html: %.adoc %.1-synopsis.adoc docinfo.xml
asciidoc ${ADOC_MAN1_HTML_ARGS} -o $@ $*.adoc
test -z "$${NOVIEW}" && $(BROWSER) $@ &
%.8-synopsis.adoc:
perl -e "use PVE::Service::$(subst -,_,$*);print PVE::Service::$(subst -,_,$*)->generate_asciidoc_synopsys();" > $@.tmp
mv $@.tmp $@
%.8: %.adoc %.8-synopsis.adoc docinfo.xml
a2x -a docinfo1 -a "manvolnum=8" -a "manversion=Release ${RELEASE}" -f manpage $*.adoc
test -z "$${NOVIEW}" && man -l $@
%.8.html: %.adoc %.8-synopsis.adoc docinfo.xml
asciidoc ${ADOC_MAN8_HTML_ARGS} -o $@ $*.adoc
test -z "$${NOVIEW}" && $(BROWSER) $@ &
pve-firewall-cluster-opts.adoc:
./gen-pve-firewall-cluster-opts.pl >$@.tmp
mv $@.tmp $@
pve-firewall-host-opts.adoc:
./gen-pve-firewall-host-opts.pl >$@.tmp
mv $@.tmp $@
pve-firewall-vm-opts.adoc:
./gen-pve-firewall-vm-opts.pl >$@.tmp
mv $@.tmp $@
pve-firewall-rules-opts.adoc:
./gen-pve-firewall-rules-opts-adoc.pl >$@.tmp
mv $@.tmp $@
pve-firewall-macros.adoc:
./gen-pve-firewall-macros-adoc.pl >$@.tmp
mv $@.tmp $@
datacenter.cfg.5-opts.adoc:
./gen-datacenter-cfg-opts-adoc.pl >$@.tmp
mv $@.tmp $@
vm.conf.5-opts.adoc:
./gen-vm-conf-opts-adoc.pl >$@.tmp
mv $@.tmp $@
pct.conf.5-opts.adoc:
./gen-pct-conf-opts-adoc.pl >$@.tmp
mv $@.tmp $@
%.5: %.adoc %.5-opts.adoc docinfo.xml
a2x -a docinfo1 -a "manvolnum=5" -a "manversion=Release ${RELEASE}" -f manpage $*.adoc
test -z "$${NOVIEW}" && man -l $@
%.5.html: %.adoc %.5-opts.adoc docinfo.xml
asciidoc ${ADOC_MAN5_HTML_ARGS} -o $@ $*.adoc
test -z "$${NOVIEW}" && $(BROWSER) $@ &
index.html: index.adoc ${PVE_ADMIN_GUIDE_SOURCES}
$(MAKE) NOVIEW=1 pve-admin-guide.pdf pve-admin-guide.html pve-admin-guide.epub
$(MAKE) NOVIEW=1 qm.1.html pct.1.html pveam.1.html pvesm.1.html pveum.1.html vzdump.1.html pve-firewall.8.html ha-manager.1.html datacenter.cfg.5.html vm.conf.5.html pct.conf.5.html
asciidoc -a "date=$(shell date)" -a "revnumber=${RELEASE}" index.adoc
$(BROWSER) index.html &
pve-admin-guide.html: ${PVE_ADMIN_GUIDE_SOURCES}
asciidoc -a "revnumber=${RELEASE}" -a "date=$(shell date)" pve-admin-guide.adoc
test -z "$${NOVIEW}" && $(BROWSER) $@ &
pve-admin-guide.pdf: ${PVE_ADMIN_GUIDE_SOURCES} docinfo.xml pve-admin-guide-docinfo.xml
grep ">Release ${RELEASE}<" pve-admin-guide-docinfo.xml || (echo "wrong release in pve-admin-guide-docinfo.xml" && false);
a2x -a docinfo -a docinfo1 -f pdf -L --dblatex-opts "-P latex.output.revhistory=0" --dblatex-opts "-P latex.class.options=12pt" --dblatex-opts "-P doc.section.depth=2 -P toc.section.depth=2" pve-admin-guide.adoc
test -z "$${NOVIEW}" && $(BROWSER) $@ &
pve-admin-guide.epub: ${PVE_ADMIN_GUIDE_SOURCES}
a2x -f epub pve-admin-guide.adoc
test -z "$${NOVIEW}" && $(BROWSER) $@ &
update: clean
rm -f *.5-opts.adoc .1-synopsis.adoc .8-synopsis.adoc
make all
clean:
rm -rf *~ *.html *.pdf *.epub *.tmp *.1 *.5 *.8