2001-09-21 16:37:43 +04:00
#
2004-03-30 23:35:44 +04:00
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
2017-03-14 03:47:46 +03:00
# Copyright (C) 2004-2017 Red Hat, Inc. All rights reserved.
2001-09-21 16:37:43 +04:00
#
2007-09-21 14:16:45 +04:00
# This file is part of LVM2.
2001-09-21 16:37:43 +04:00
#
2004-03-30 23:35:44 +04:00
# This copyrighted material is made available to anyone wishing to use,
# modify, copy, or redistribute it subject to the terms and conditions
# of the GNU General Public License v.2.
2001-09-21 16:37:43 +04:00
#
2004-03-30 23:35:44 +04:00
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
2016-01-21 13:49:46 +03:00
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2001-09-21 16:37:43 +04:00
srcdir = @srcdir@
top_srcdir = @top_srcdir@
2009-10-02 23:10:31 +04:00
top_builddir = @top_builddir@
2001-09-21 16:37:43 +04:00
2018-01-31 13:04:17 +03:00
i f e q ( $( V ) , 1 )
Q =
e l s e
Q = @
e n d i f
2008-01-09 17:17:58 +03:00
FSADMMAN = fsadm.8
2012-10-12 16:37:57 +04:00
BLKDEACTIVATEMAN = blkdeactivate.8
2010-06-17 16:14:43 +04:00
DMEVENTDMAN = dmeventd.8
2017-03-16 14:26:51 +03:00
DMFILEMAPDMAN = dmfilemapd.8
2015-08-28 15:03:18 +03:00
LVMPOLLDMAN = lvmpolld.8
2015-09-06 01:46:22 +03:00
LVMLOCKDMAN = lvmlockd.8 lvmlockctl.8
2015-08-28 15:03:18 +03:00
CMIRRORDMAN = cmirrord.8
LVMCACHEMAN = lvmcache.7
LVMTHINMAN = lvmthin.7
2016-02-18 02:53:35 +03:00
LVMDBUSDMAN = lvmdbusd.8
2016-09-12 15:03:09 +03:00
LVMRAIDMAN = lvmraid.7
2019-01-18 18:59:13 +03:00
LVMVDOMAN = lvmvdo.7
2015-03-05 23:00:44 +03:00
2001-12-31 20:20:22 +03:00
MAN5 = lvm.conf.5
2016-09-12 14:54:37 +03:00
MAN7 = lvmsystemid.7 lvmreport.7
2018-09-13 19:02:53 +03:00
MAN8 = lvm.8 lvmdump.8 lvm-fullreport.8 lvm-lvpoll.8 \
2017-03-29 01:22:15 +03:00
lvcreate.8 lvchange.8 lvmconfig.8 lvconvert.8 lvdisplay.8 \
2017-03-14 03:47:46 +03:00
lvextend.8 lvreduce.8 lvremove.8 lvrename.8 lvresize.8 lvs.8 \
lvscan.8 pvchange.8 pvck.8 pvcreate.8 pvdisplay.8 pvmove.8 pvremove.8 \
pvresize.8 pvs.8 pvscan.8 vgcfgbackup.8 vgcfgrestore.8 vgchange.8 \
vgck.8 vgcreate.8 vgconvert.8 vgdisplay.8 vgexport.8 vgextend.8 \
vgimport.8 vgimportclone.8 vgmerge.8 vgmknodes.8 vgreduce.8 vgremove.8 \
vgrename.8 vgs.8 vgscan.8 vgsplit.8 \
2017-03-16 05:09:51 +03:00
lvmsar.8 lvmsadc.8 lvmdiskscan.8
2017-03-29 02:44:09 +03:00
MAN8SO = lvm-config.8 lvm-dumpconfig.8
2017-03-16 14:26:51 +03:00
MAN8DM = dmsetup.8 dmstats.8
2016-12-17 19:24:35 +03:00
MAN8CLUSTER =
MAN8SYSTEMD_GENERATORS = lvm2-activation-generator.8
2010-01-19 05:04:33 +03:00
2015-09-15 15:14:16 +03:00
i f e q ( $( MAKECMDGOALS ) , a l l _ m a n )
MAN_ALL = "yes"
e n d i f
i f e q ( $( MAKECMDGOALS ) , i n s t a l l _ a l l _ m a n )
MAN_ALL = "yes"
e n d i f
i f e q ( $( MAN_ALL ) , "yes" )
2018-11-14 01:22:34 +03:00
MAN8 += $( FSADMMAN) $( LVMPOLLDMAN) $( LVMLOCKDMAN) $( LVMDBUSDMAN)
2017-03-16 14:26:51 +03:00
MAN8DM += $( BLKDEACTIVATEMAN) $( DMEVENTDMAN) $( DMFILEMAPDMAN)
2018-06-15 01:46:08 +03:00
MAN8CLUSTER += $( CMIRRORDMAN)
2010-01-19 05:04:33 +03:00
e l s e
2015-08-28 15:03:18 +03:00
ifeq ( "@FSADM@" , "yes" )
MAN8 += $( FSADMMAN)
endif
2014-04-04 04:14:25 +04:00
2016-02-18 02:53:35 +03:00
ifeq ( "@BUILD_LVMDBUSD@" , "yes" )
MAN8 += $( LVMDBUSDMAN)
endif
2015-08-28 15:03:18 +03:00
ifeq ( "@BUILD_LVMPOLLD@" , "yes" )
MAN8 += $( LVMPOLLDMAN)
endif
ifeq ( "@BUILD_LVMLOCKD@" , "yes" )
MAN8 += $( LVMLOCKDMAN)
endif
ifeq ( "@BLKDEACTIVATE@" , "yes" )
MAN8DM += $( BLKDEACTIVATEMAN)
endif
2017-08-01 19:17:06 +03:00
ifeq ( "@BUILD_DMEVENTD@" , "yes" )
2015-08-28 15:03:18 +03:00
MAN8DM += $( DMEVENTDMAN)
endif
2014-05-15 14:06:18 +04:00
2017-04-18 22:37:53 +03:00
ifeq ( "@BUILD_DMFILEMAPD@" , "yes" )
2017-03-16 14:26:51 +03:00
MAN8DM += $( DMFILEMAPDMAN)
endif
2015-08-28 15:03:18 +03:00
ifeq ( "@BUILD_CMIRRORD@" , "yes" )
MAN8CLUSTER += $( CMIRRORDMAN)
endif
2014-04-04 04:14:25 +04:00
e n d i f
2019-01-18 18:59:13 +03:00
MAN7 += $( LVMCACHEMAN) $( LVMTHINMAN) $( LVMRAIDMAN) $( LVMVDOMAN)
2010-03-04 12:56:01 +03:00
MAN5DIR = $( mandir) /man5
2014-04-04 04:14:25 +04:00
MAN7DIR = $( mandir) /man7
2010-03-04 12:56:01 +03:00
MAN8DIR = $( mandir) /man8
2001-09-21 16:37:43 +04:00
2017-03-17 02:10:40 +03:00
MANGENERATOR = $( top_builddir) /tools/man-generator
2017-03-14 03:47:46 +03:00
TESTMAN = test.gen
2010-03-04 12:51:37 +03:00
i n c l u d e $( top_builddir ) / m a k e . t m p l
2001-09-21 16:37:43 +04:00
2017-03-29 01:22:15 +03:00
CLEAN_TARGETS += $( MAN5) $( MAN7) $( MAN8) $( MAN8SO) $( MAN8:%.8= %.8_gen) $( MAN8CLUSTER) \
2017-03-17 02:10:40 +03:00
$( MAN8SYSTEMD_GENERATORS) $( MAN8DM) $( TESTMAN)
2015-08-28 15:03:18 +03:00
DISTCLEAN_TARGETS += $( FSADMMAN) $( BLKDEACTIVATEMAN) $( DMEVENTDMAN) \
2018-11-14 01:22:34 +03:00
$( LVMPOLLDMAN) $( LVMLOCKDMAN) $( CMIRRORDMAN) \
2017-03-16 14:26:51 +03:00
$( LVMCACHEMAN) $( LVMTHINMAN) $( LVMDBUSDMAN) $( LVMRAIDMAN) \
$( DMFILEMAPDMAN)
2004-08-18 22:57:40 +04:00
2011-09-23 13:48:21 +04:00
all : man device -mapper
2008-10-08 16:50:13 +04:00
2017-03-14 03:47:46 +03:00
.PHONY : man install_man 5 install_man 7 install_man 8 pregenerated_man
2008-10-08 16:50:13 +04:00
2008-11-04 20:25:32 +03:00
device-mapper : $( MAN 8DM )
2008-11-01 05:19:19 +03:00
2017-03-29 01:22:15 +03:00
man : $( MAN 5) $( MAN 7) $( MAN 8) $( MAN 8SO ) $( MAN 8CLUSTER ) $( MAN 8SYSTEMD_GENERATORS )
2008-10-08 16:50:13 +04:00
2015-09-15 15:14:16 +03:00
all_man : man
2017-03-29 01:22:15 +03:00
$(MAN5) $(MAN7) $(MAN8) $(MAN8SO) $(MAN8DM) $(MAN8CLUSTER) $(MAN8SYSTEMD_GENERATORS) : Makefile
2008-10-08 16:50:13 +04:00
2017-03-14 03:47:46 +03:00
# Test whether or not the man page generator works
2017-03-17 02:10:40 +03:00
$(TESTMAN) : $( MANGENERATOR ) Makefile
2017-03-24 03:39:50 +03:00
- $( MANGENERATOR) --primary lvmconfig > $@
2017-03-14 03:47:46 +03:00
SEE_ALSO = $( srcdir) /see_also.end
2017-03-17 02:08:59 +03:00
.PRECIOUS : %.8_gen
2017-03-14 03:47:46 +03:00
%.8_gen : $( srcdir ) /%.8_des $( srcdir ) /%.8_end $( MANGENERATOR ) $( TESTMAN )
2017-10-27 17:44:11 +03:00
$( Q) set -e ; ( \
2017-03-14 03:47:46 +03:00
if [ ! -s $( TESTMAN) ] ; then \
cat $( srcdir) /$( @:%.8_gen= %.8_pregen) ; \
else \
MANCMD = $( basename $@ ) && \
2017-03-24 03:39:50 +03:00
$( MANGENERATOR) --primary $$ MANCMD $< && \
$( MANGENERATOR) --secondary $$ MANCMD && \
2017-03-14 03:47:46 +03:00
cat $( srcdir) /$( basename $@ ) .8_end && \
cat $( SEE_ALSO) ; \
fi \
) > $@
d e f i n e S U B S T V A R S
2017-10-27 17:44:11 +03:00
$( Q ) $( SED ) - e "s+#VERSION#+$(LVM_VERSION)+" \
2017-03-28 18:51:22 +03:00
-e " s+#DEFAULT_SYS_DIR#+ $( DEFAULT_SYS_DIR) + " \
-e " s+#DEFAULT_ARCHIVE_DIR#+ $( DEFAULT_ARCHIVE_DIR) + " \
-e " s+#DEFAULT_BACKUP_DIR#+ $( DEFAULT_BACKUP_DIR) + " \
-e " s+#DEFAULT_PROFILE_DIR#+ $( DEFAULT_PROFILE_DIR) + " \
-e " s+#DEFAULT_CACHE_DIR#+ $( DEFAULT_CACHE_DIR) + " \
-e " s+#DEFAULT_LOCK_DIR#+ $( DEFAULT_LOCK_DIR) + " \
2017-08-01 12:17:04 +03:00
-e " s+#LVM_PATH#+ $( exec_prefix) /lvm+ " \
-e " s+#DEFAULT_RUN_DIR#+ $( DEFAULT_RUN_DIR) + " \
-e " s+#DEFAULT_PID_DIR#+ $( DEFAULT_PID_DIR) + " \
2017-03-28 18:51:22 +03:00
-e " s+#SYSTEMD_GENERATOR_DIR#+ $( SYSTEMD_GENERATOR_DIR) + " \
-e " s+#DEFAULT_MANGLING#+ $( DEFAULT_MANGLING) + " $< > $@
2017-03-14 03:47:46 +03:00
e n d e f
2017-03-28 01:17:43 +03:00
# Escape any '-':
#
# - multiple (>= 2)
# - in ' -'
2017-03-29 03:27:10 +03:00
# - in ranges
2017-03-30 18:54:02 +03:00
# - in middle of options (e.g. '--use-policies') and their arguments
2017-03-29 03:27:10 +03:00
# - in symbolic use (e.g. '->')
2017-03-30 18:54:02 +03:00
# - in "$vg-$lv"
2017-03-28 01:17:43 +03:00
# - in single one in '\\f.-'
2017-03-27 17:45:48 +03:00
d e f i n e E S C A P E H Y P H E N S
2017-10-27 17:44:11 +03:00
$(Q)$(SED) -i -e "s+\([ [ : alpha :]]\)-\{7\}+\1\\\-\\\-\\\-\\\-\\\-\\\-\\\-+g " \
2017-03-30 01:41:24 +03:00
-e "s+\([ [:alpha:]]\)-\{6\}+\1\\\-\\\-\\\-\\\-\\\-\\\-+g" \
-e "s+\([ [:alpha:]]\)-\{5\}+\1\\\-\\\-\\\-\\\-\\\-+g" \
-e "s+\([ [:alpha:]]\)-\{4\}+\1\\\-\\\-\\\-\\\-+g" \
-e "s+\([ [:alpha:]]\)-\{3\}+\1\\\-\\\-\\\-+g" \
-e "s+\([ [:alpha:]]\)-\{2\}+\1\\\-\\\-+g" \
-e "s+\([^\]\)-\([[:alnum:]\?]\)+\1\\\-\2+g" \
-e "s+ --+\\\-\\\-+g" \
-e "s+|-|+|\\\-|+g" \
2017-03-30 18:54:02 +03:00
-e "s+|-\\\-+\\\-\\\-+g" \
2017-03-30 01:41:24 +03:00
-e "s+ -\"+ \\\-\"+g" \
-e "s+'--'+'\\\-\\\-'+g" \
-e "s+^--+\\\-\\\-+g" \
-e "s+\([[:alnum:]]\) - \([[:alnum:]]\)+\1 \\\- \2+g" \
2017-03-29 03:27:10 +03:00
-e "s+\(<\)-+\1\\\-+g" \
-e "s+[^\\]-\(>\)+\\\-\1+g" \
2017-03-30 01:41:24 +03:00
-e "s+\([[:alnum:]]\{2,\}\)\\\-\([[:alnum:]]\{2,\}\)+\1-\2+g" \
-e "s+\(\\\-\\\-[[:alnum:]]\{2,\}\)-+\1\\\-+g" \
-e "s+\(lvm2\-activation\)+lvm2\\\-activation+" \
2017-04-05 00:53:28 +03:00
-e "s+\([^\\]\)-pool+\1\\\-pool+g" \
2017-03-30 01:41:24 +03:00
-e "s+\([[:digit:]]\)-\([[:digit:]]\)+\1\\\-\2+g" \
-e "s+\\\-git+\-git+g" \
-e "s+\(vg.*\)\-lv+\1\\\-lv+g" \
-e "s+\([[:digit:]]\{4\}\)\\\-\([[:digit:]]\{2\}\)\\\-\([[:digit:]]\{2\}\)+\1-\2-\3+g" $@
2017-03-27 17:45:48 +03:00
e n d e f
2017-03-14 03:47:46 +03:00
%.5 : $( srcdir ) /%.5_main
2018-01-31 13:04:17 +03:00
@echo " [MAN] $@ "
$( Q) $( SUBSTVARS)
$( Q) $( ESCAPEHYPHENS)
2017-03-14 03:47:46 +03:00
%.7 : $( srcdir ) /%.7_main
2018-01-31 13:04:17 +03:00
@echo " [MAN] $@ "
$( Q) $( SUBSTVARS)
$( Q) $( ESCAPEHYPHENS)
2017-03-14 03:47:46 +03:00
%.8 : $( srcdir ) /%.8_main
2018-01-31 13:04:17 +03:00
@echo " [MAN] $@ "
$( Q) $( SUBSTVARS)
$( Q) $( ESCAPEHYPHENS)
2017-03-14 03:47:46 +03:00
%.8 : %.8_gen
2018-01-31 13:04:17 +03:00
@echo " [MAN] $@ "
$( Q) $( SUBSTVARS)
$( Q) $( ESCAPEHYPHENS)
2017-02-11 01:20:19 +03:00
2017-03-30 01:41:24 +03:00
$(MAN8SO) : lvmconfig .8
2018-01-31 13:04:17 +03:00
@echo " [MAN] $@ "
$( Q) echo " .so $< " > $@
2017-03-29 01:22:15 +03:00
2010-04-10 01:42:48 +04:00
install_man5 : $( MAN 5)
2018-01-31 13:04:17 +03:00
@echo " [INSTALL] $< "
$( Q) $( INSTALL) -d $( MAN5DIR)
$( Q) $( INSTALL_DATA) $( MAN5) $( MAN5DIR) /
2010-04-10 01:42:48 +04:00
2014-05-13 14:18:13 +04:00
install_man7 : $( MAN 7)
2018-01-31 13:04:17 +03:00
@echo " [INSTALL] $< "
$( Q) $( INSTALL) -d $( MAN7DIR)
$( Q) $( INSTALL_DATA) $( MAN7) $( MAN7DIR) /
2014-04-04 04:14:25 +04:00
2017-03-29 02:44:09 +03:00
install_man8 : $( MAN 8) $( MAN 8SO )
2018-01-31 13:04:17 +03:00
@echo " [INSTALL] $< "
$( Q) $( INSTALL) -d $( MAN8DIR)
$( Q) $( INSTALL_DATA) $( MAN8) $( MAN8SO) $( MAN8DIR) /
2010-04-10 01:42:48 +04:00
2014-04-04 04:14:25 +04:00
install_lvm2 : install_man 5 install_man 7 install_man 8
2010-04-10 01:42:48 +04:00
install_cluster : $( MAN 8CLUSTER )
2014-05-21 12:50:56 +04:00
i f d e f M A N 8 C L U S T E R
2018-01-31 13:04:17 +03:00
@echo " [INSTALL] $< "
$( Q) $( INSTALL) -d $( MAN8DIR)
$( Q) $( INSTALL_DATA) $( MAN8CLUSTER) $( MAN8DIR) /
2014-05-21 12:50:56 +04:00
e n d i f
2010-04-10 01:42:48 +04:00
install_device-mapper : $( MAN 8DM )
2018-01-31 13:04:17 +03:00
@echo " [INSTALL] $< "
$( Q) $( INSTALL) -d $( MAN8DIR)
$( Q) $( INSTALL_DATA) $( MAN8DM) $( MAN8DIR) /
2009-05-11 14:28:45 +04:00
2017-03-30 01:35:46 +03:00
install_systemd_generators : $( MAN 8SYSTEMD_GENERATORS )
2018-01-31 13:04:17 +03:00
@echo " [INSTALL] $< "
$( Q) $( INSTALL) -d $( MAN8DIR)
$( Q) $( INSTALL_DATA) $( MAN8SYSTEMD_GENERATORS) $( MAN8DIR) /
2014-03-13 16:01:06 +04:00
2014-11-24 02:32:26 +03:00
install : install_lvm 2 install_device -mapper install_cluster
2015-08-28 15:03:18 +03:00
2015-09-15 15:14:16 +03:00
install_all_man : install install_systemd_generators
2017-03-14 03:47:46 +03:00
# Copy generated man pages back to source tree as fallback for machines where generator doesn't work
pregenerated_man : all
2017-08-01 01:01:07 +03:00
set -e ; for i in $( srcdir) /*.8_des; do \
2017-03-14 03:47:46 +03:00
CMD = ` basename $$ i .8_des` ; \
2017-03-17 02:08:59 +03:00
cat $$ { CMD} .8_gen > $( srcdir) /$$ CMD.8_pregen ; \
2017-03-14 03:47:46 +03:00
done
generate : pregenerated_man