]> sourceware.org Git - lvm2.git/blob - man/Makefile.in
861c6bc9f83cd34b6249a317dc9cf26601283e55
[lvm2.git] / man / Makefile.in
1 #
2 # Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
3 # Copyright (C) 2004-2017 Red Hat, Inc. All rights reserved.
4 #
5 # This file is part of LVM2.
6 #
7 # This copyrighted material is made available to anyone wishing to use,
8 # modify, copy, or redistribute it subject to the terms and conditions
9 # of the GNU General Public License v.2.
10 #
11 # You should have received a copy of the GNU General Public License
12 # along with this program; if not, write to the Free Software Foundation,
13 # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
14
15 srcdir = @srcdir@
16 top_srcdir = @top_srcdir@
17 top_builddir = @top_builddir@
18
19 ifeq ($(V),1)
20 Q=
21 else
22 Q=@
23 endif
24
25 FSADMMAN = fsadm.8
26 LVMIMPORTVDOMAN = lvm_import_vdo.8
27 BLKDEACTIVATEMAN = blkdeactivate.8
28 DMEVENTDMAN = dmeventd.8
29 DMFILEMAPDMAN = dmfilemapd.8
30 LVMPOLLDMAN = lvmpolld.8
31 LVMLOCKDMAN = lvmlockd.8 lvmlockctl.8
32 CMIRRORDMAN = cmirrord.8
33 LVMDBUSDMAN = lvmdbusd.8
34
35 MAN5=lvm.conf.5
36 MAN7=lvmsystemid.7 lvmreport.7 lvmraid.7 lvmautoactivation.7
37
38 MAN8=lvm.8 lvmdump.8 lvm-fullreport.8 lvm-lvpoll.8 \
39 lvcreate.8 lvchange.8 lvmconfig.8 lvconvert.8 lvdisplay.8 \
40 lvextend.8 lvreduce.8 lvremove.8 lvrename.8 lvresize.8 lvs.8 \
41 lvscan.8 pvchange.8 pvck.8 pvcreate.8 pvdisplay.8 pvmove.8 pvremove.8 \
42 pvresize.8 pvs.8 pvscan.8 vgcfgbackup.8 vgcfgrestore.8 vgchange.8 \
43 vgck.8 vgcreate.8 vgconvert.8 vgdisplay.8 vgexport.8 vgextend.8 \
44 vgimport.8 vgimportclone.8 vgmerge.8 vgmknodes.8 vgreduce.8 vgremove.8 \
45 vgrename.8 vgs.8 vgscan.8 vgsplit.8 \
46 lvmsar.8 lvmsadc.8 lvmdiskscan.8 lvmdevices.8 vgimportdevices.8
47 MAN8SO=lvm-config.8 lvm-dumpconfig.8
48 MAN8DM=dmsetup.8 dmstats.8
49 MAN8CLUSTER=
50
51 ifeq (,$(findstring $(MAKECMDGOALS), distclean all_man install_all_man))
52 MAN7 += lvmcache.7 lvmthin.7 lvmvdo.7
53 MAN8+=$(FSADMMAN) $(LVMPOLLDMAN) $(LVMLOCKDMAN) $(LVMDBUSDMAN) $(LVMIMPORTVDOMAN)
54 MAN8DM+=$(BLKDEACTIVATEMAN) $(DMEVENTDMAN) $(DMFILEMAPDMAN)
55 MAN8CLUSTER+=$(CMIRRORDMAN)
56 else
57 ifeq ("@FSADM@", "yes")
58 MAN8+=$(FSADMMAN)
59 endif
60
61 ifeq ("@LVMIMPORTVDO@", "yes")
62 MAN8+=$(LVMIMPORTVDOMAN)
63 endif
64
65 ifeq ("@BUILD_LVMDBUSD@", "yes")
66 MAN8+=$(LVMDBUSDMAN)
67 endif
68
69 ifeq ("@BUILD_LVMPOLLD@", "yes")
70 MAN8+=$(LVMPOLLDMAN)
71 endif
72
73 ifeq ("@BUILD_LVMLOCKD@", "yes")
74 MAN8+=$(LVMLOCKDMAN)
75 endif
76
77 ifeq ("@BLKDEACTIVATE@", "yes")
78 MAN8DM+=$(BLKDEACTIVATEMAN)
79 endif
80
81 ifeq ("@BUILD_DMEVENTD@", "yes")
82 MAN8DM+=$(DMEVENTDMAN)
83 endif
84
85 ifeq ("@BUILD_DMFILEMAPD@", "yes")
86 MAN8DM+=$(DMFILEMAPDMAN)
87 endif
88
89 ifeq ("@BUILD_CMIRRORD@", "yes")
90 MAN8CLUSTER+=$(CMIRRORDMAN)
91 endif
92
93 ifeq ("@CACHE@", "internal")
94 MAN7 += lvmcache.7
95 else
96 ifeq ("@WRITECACHE@", "internal")
97 MAN7 += lvmcache.7
98 endif
99 endif
100
101 ifeq ("@THIN@", "internal")
102 MAN7 += lvmthin.7
103 endif
104
105 ifeq ("@VDO@", "internal")
106 MAN7 += lvmvdo.7
107 endif
108
109 endif
110
111 MAN5DIR=$(mandir)/man5
112 MAN7DIR=$(mandir)/man7
113 MAN8DIR=$(mandir)/man8
114
115 MANGENERATOR=$(top_builddir)/tools/man-generator
116 TESTMAN=test.gen
117
118 include $(top_builddir)/make.tmpl
119
120 CLEAN_TARGETS+=$(MAN5) $(MAN7) $(MAN8) $(MAN8SO) $(MAN8:%.8=%.8_gen) $(MAN8CLUSTER) \
121 $(MAN8DM) $(TESTMAN)
122
123 all: man device-mapper
124
125 .PHONY: man install_man5 install_man7 install_man8 pregenerated_man
126
127 device-mapper: $(MAN8DM)
128
129 man: $(MAN5) $(MAN7) $(MAN8) $(MAN8SO) $(MAN8CLUSTER)
130
131 all_man: man
132
133 $(MAN5) $(MAN7) $(MAN8) $(MAN8SO) $(MAN8DM) $(MAN8CLUSTER): Makefile
134
135 $(MANGENERATOR):
136 $(SHOW) " [MAKE] $<"
137 $(Q) $(MAKE) -C $(top_builddir) tools
138
139 # Test whether or not the man page generator works
140 $(TESTMAN): $(MANGENERATOR) Makefile
141 $(SHOW) " [TSTMAN] $@"
142 $(Q) - $(MANGENERATOR) --primary lvmconfig > $@
143
144 SEE_ALSO=$(srcdir)/see_also.end
145
146 .PRECIOUS: %.8_gen
147
148 %.8_gen: $(srcdir)/%.8_des $(srcdir)/%.8_end $(MANGENERATOR) $(TESTMAN)
149 $(Q)set -e ; ( \
150 if [ ! -s $(TESTMAN) ] ; then \
151 cat $(srcdir)/$(@:%.8_gen=%.8_pregen) \
152 $(srcdir)/$(basename $@).8_end $(SEE_ALSO) ; \
153 else \
154 MANCMD=$(basename $@) && \
155 $(MANGENERATOR) --primary $$MANCMD $< && \
156 $(MANGENERATOR) --secondary $$MANCMD && \
157 cat $(srcdir)/$(basename $@).8_end $(SEE_ALSO) ; \
158 fi \
159 ) > $@
160
161 #
162 # When EDITLINE_LIBS is defined, we are compiling with libedit
163 #
164 ifneq ("$(EDITLINE_LIBS)", "")
165 DEFAULT_LIBLINE=editline
166 else
167 DEFAULT_LIBLINE=readline
168 endif
169
170 define SUBSTVARS
171 $(SED) -e "s+#VERSION#+$(LVM_VERSION)+" \
172 -e "s+#DEFAULT_SYS_DIR#+$(DEFAULT_SYS_DIR)+" \
173 -e "s+#DEFAULT_ARCHIVE_DIR#+$(DEFAULT_ARCHIVE_DIR)+" \
174 -e "s+#DEFAULT_BACKUP_DIR#+$(DEFAULT_BACKUP_DIR)+" \
175 -e "s+#DEFAULT_PROFILE_DIR#+$(DEFAULT_PROFILE_DIR)+" \
176 -e "s+#DEFAULT_CACHE_DIR#+$(DEFAULT_CACHE_DIR)+" \
177 -e "s+#DEFAULT_LOCK_DIR#+$(DEFAULT_LOCK_DIR)+" \
178 -e "s+#LVM_PATH#+@bindir@/lvm+" \
179 -e "s+#DEFAULT_RUN_DIR#+$(DEFAULT_RUN_DIR)+" \
180 -e "s+#DEFAULT_PID_DIR#+$(DEFAULT_PID_DIR)+" \
181 -e "s+#SYSTEMD_GENERATOR_DIR#+$(SYSTEMD_GENERATOR_DIR)+" \
182 -e "s+#DEFAULT_LIBLINE#+$(DEFAULT_LIBLINE)+" \
183 -e "s+#DEFAULT_DMEVENTD_EXIT_ON_PATH#+$(DEFAULT_DMEVENTD_EXIT_ON_PATH)+" \
184 -e "s+#DEFAULT_MANGLING#+$(DEFAULT_MANGLING)+" $< > $@
185 endef
186
187 # Escape any '-' to '\-' (except ^.TH line)
188 # and fix unwanted changes:
189 # '\\-' back to '\-'
190 # words like 'device\-mapper' back to 'device-mapper',
191 # \[\->] \[<\-] back to \[->], \[<-]
192 # however for some words i.e. '*-pool' we want '*\-pool'
193 # also 'vg-lv,[systemd-]machine-id,lvm-full,lvm-lvpoll' should go with \-
194 #
195 define ESCAPEHYPHENS
196 $(SED) -i -e "/^.TH/ !s+-+\\\-+g" \
197 -e "s+\\\[\]-+\\\-+g" \
198 -e "s+\(^\|[^[:alnum:]\-]\)\([[:alpha:]]\{1,\}\)\\\-\((\|[([:alpha:]]\{2,\}\)+\1\2-\3+g" \
199 -e "s+\([[:alpha:]]\)-\(pool\)+\1\\\-\2+g" \
200 -e "s+[\][[]\(<\{0,1\}\)\\\-+\\\[\1-+g" \
201 -e "s+\(vg.\{1,\}[^\]\)-lv+\1\\\-lv+g" \
202 -e "s+systemd-machine+systemd\\\-machine+g" \
203 -e "s+machine-id+machine\\\-id+g" \
204 -e "s+lvm-full+lvm\\\-full+g" \
205 -e "s+lvm-lvpoll+lvm\\\-lvpoll+g" \
206 -e "s+\([[:digit:]]\)\s\([KMGTPE]iB\)+\1\\\ \2+g" \
207 $@
208 endef
209
210 .PHONY: checksed
211 checksed:
212 $(Q) echo "cmd -a -b retry -c ret --use-policy -d" > $@
213 $(Q) echo "cmd \fI-u\fB -d retry \fI--use-pol --use-poli 4.0 --use \"-L|--size\"" >> $@
214 $(Q) echo "cmd --use-pol" >> $@
215 $(Q) echo "cmd --[raid]use device-mapper thin-pool \fB-\fP sdb1:1000-1999 \fB-t\fP|\fB--test\fP -? -o-field3" >> $@
216 $(Q) echo "cmd -dd---- \[->] \[<-] -*- -o#field5 -o-field3 -d" >> $@
217 $(Q) echo "-d" >> $@
218 $(Q) echo ".TH 2.03.12(2)-git" >> $@
219 $(Q) echo "--verbose" >> $@
220 $(Q) echo ".BR -- [ raid ] most -- [ raid ] most" >> $@
221 $(Q) echo ".BR | --verbose|--verb --verbose --verbose --verbose --verbose" >> $@
222 $(Q) echo "skip - unint --aa-dd- --aa-dd-- ---aa-dd 4.0 \-a\-b" >> $@
223 $(Q) echo "cmd \-a \-b retry \-c ret \-\-use\-policy \-d" > $@-e
224 $(Q) echo "cmd \fI\-u\fB \-d retry \fI\-\-use\-pol \-\-use\-poli 4.0 \-\-use \"\-L|\-\-size\"" >> $@-e
225 $(Q) echo "cmd \-\-use\-pol" >> $@-e
226 $(Q) echo "cmd \-\-[raid]use device-mapper thin\-pool \fB\-\fP sdb1:1000\-1999 \fB\-t\fP|\fB\-\-test\fP \-? \-o\-field3" >> $@-e
227 $(Q) echo "cmd \-dd\-\-\-\- \[->] \[<-] \-*\- \-o#field5 \-o\-field3 \-d" >> $@-e
228 $(Q) echo "\-d" >> $@-e
229 $(Q) echo ".TH 2.03.12(2)-git" >> $@-e
230 $(Q) echo "\-\-verbose" >> $@-e
231 $(Q) echo ".BR \-\- [ raid ] most \-\- [ raid ] most" >> $@-e
232 $(Q) echo ".BR | \-\-verbose|\-\-verb \-\-verbose \-\-verbose \-\-verbose \-\-verbose" >> $@-e
233 $(Q) echo "skip \- unint \-\-aa\-dd\- \-\-aa\-dd\-\- \-\-\-aa\-dd 4.0 \-a\-b" >> $@-e
234 $(Q) $(ESCAPEHYPHENS)
235 $(Q) echo "--- H Y P H E N A T E D ---"
236 $(Q) cat $@
237 $(Q) diff -u $@-e $@
238 $(Q) $(RM) $@ $@-e
239
240 %.5: $(srcdir)/%.5_main
241 $(SHOW) " [MAN] $@"
242 $(Q) $(SUBSTVARS)
243 $(Q) $(ESCAPEHYPHENS)
244
245 %.7: $(srcdir)/%.7_main
246 $(SHOW) " [MAN] $@"
247 $(Q) $(SUBSTVARS)
248 $(Q) $(ESCAPEHYPHENS)
249
250 %.8: $(srcdir)/%.8_main
251 $(SHOW) " [MAN] $@"
252 $(Q) $(SUBSTVARS)
253 $(Q) $(ESCAPEHYPHENS)
254
255 %.8: %.8_gen
256 $(SHOW) " [MAN] $@"
257 $(Q) $(SUBSTVARS)
258 $(Q) $(ESCAPEHYPHENS)
259
260 $(MAN8SO): lvmconfig.8
261 $(SHOW) " [MAN] $@"
262 $(Q) echo ".so $<" > $@
263
264 install_man5: $(MAN5)
265 $(SHOW) " [INSTALL] $^"
266 $(Q) $(INSTALL) -d $(MAN5DIR)
267 $(Q) $(INSTALL_DATA) $^ $(MAN5DIR)/
268
269 install_man7: $(MAN7)
270 $(SHOW) " [INSTALL] $^"
271 $(Q) $(INSTALL) -d $(MAN7DIR)
272 $(Q) $(INSTALL_DATA) $^ $(MAN7DIR)/
273
274 install_man8: $(MAN8) $(MAN8SO)
275 $(SHOW) " [INSTALL] $^"
276 $(Q) $(INSTALL) -d $(MAN8DIR)
277 $(Q) $(INSTALL_DATA) $^ $(MAN8DIR)/
278
279 install_lvm2: install_man5 install_man7 install_man8
280
281 install_cluster: $(MAN8CLUSTER)
282 ifdef MAN8CLUSTER
283 $(SHOW) " [INSTALL] $^"
284 $(Q) $(INSTALL) -d $(MAN8DIR)
285 $(Q) $(INSTALL_DATA) $^ $(MAN8DIR)/
286 endif
287
288 install_device-mapper: $(MAN8DM)
289 $(SHOW) " [INSTALL] $^"
290 $(Q) $(INSTALL) -d $(MAN8DIR)
291 $(Q) $(INSTALL_DATA) $^ $(MAN8DIR)/
292
293 install: install_lvm2 install_device-mapper install_cluster
294
295 install_all_man: install install_systemd_generators
296
297 # Copy generated man pages back to source tree as fallback for machines where generator doesn't work
298 pregenerated_man: $(MANGENERATOR) $(TESTMAN)
299 $(SHOW) " [GENERATE] $^"
300 $(Q) set -e ; test -s $(TESTMAN) && for i in $(srcdir)/*.8_des; do \
301 CMD=`basename $$i .8_des`; \
302 ( $(MANGENERATOR) --primary $$CMD $$i && \
303 $(MANGENERATOR) --secondary $$CMD ) \
304 > $(srcdir)/$$CMD.8_pregen ; \
305 done
306
307 generate: pregenerated_man
This page took 0.055086 seconds and 6 git commands to generate.