mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
95dd5bc7fb
Drop 'DMEVENT' make variable and use BUILD_DMEVENTD like with other daemons. NOTE: by default we do not build dmeventd - maybe time to change as lot of build targets basically do need dmeventd... Switch to use SYSTEMD_LIBS and avoid linking systemd library with every linked tool when dbus notification are enabled. (TODO add missing testing for lib presence)
285 lines
7.8 KiB
Makefile
285 lines
7.8 KiB
Makefile
#
|
|
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
|
|
# Copyright (C) 2004-2017 Red Hat, Inc. All rights reserved.
|
|
#
|
|
# This file is part of LVM2.
|
|
#
|
|
# 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.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; if not, write to the Free Software Foundation,
|
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
|
|
|
srcdir = @srcdir@
|
|
top_srcdir = @top_srcdir@
|
|
top_builddir = @top_builddir@
|
|
|
|
FSADMMAN = fsadm.8
|
|
BLKDEACTIVATEMAN = blkdeactivate.8
|
|
DMEVENTDMAN = dmeventd.8
|
|
DMFILEMAPDMAN = dmfilemapd.8
|
|
LVMETADMAN = lvmetad.8
|
|
LVMPOLLDMAN = lvmpolld.8
|
|
LVMLOCKDMAN = lvmlockd.8 lvmlockctl.8
|
|
CLVMDMAN = clvmd.8
|
|
CMIRRORDMAN = cmirrord.8
|
|
LVMCACHEMAN = lvmcache.7
|
|
LVMTHINMAN = lvmthin.7
|
|
LVMDBUSDMAN = lvmdbusd.8
|
|
LVMRAIDMAN = lvmraid.7
|
|
|
|
MAN5=lvm.conf.5
|
|
MAN7=lvmsystemid.7 lvmreport.7
|
|
MAN8=lvm.8 lvmconf.8 lvmdump.8 lvm-fullreport.8 lvm-lvpoll.8 \
|
|
lvcreate.8 lvchange.8 lvmconfig.8 lvconvert.8 lvdisplay.8 \
|
|
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 \
|
|
lvmsar.8 lvmsadc.8 lvmdiskscan.8
|
|
MAN8SO=lvm-config.8 lvm-dumpconfig.8
|
|
MAN8DM=dmsetup.8 dmstats.8
|
|
MAN8CLUSTER=
|
|
MAN8SYSTEMD_GENERATORS=lvm2-activation-generator.8
|
|
|
|
|
|
ifeq ($(MAKECMDGOALS),all_man)
|
|
MAN_ALL="yes"
|
|
endif
|
|
|
|
ifeq ($(MAKECMDGOALS),install_all_man)
|
|
MAN_ALL="yes"
|
|
endif
|
|
|
|
ifeq ($(MAN_ALL),"yes")
|
|
MAN8+=$(FSADMMAN) $(LVMETADMAN) $(LVMPOLLDMAN) $(LVMLOCKDMAN) $(LVMDBUSDMAN)
|
|
MAN8DM+=$(BLKDEACTIVATEMAN) $(DMEVENTDMAN) $(DMFILEMAPDMAN)
|
|
MAN8CLUSTER+=$(CLVMDMAN) $(CMIRRORDMAN)
|
|
MAN7+=$(LVMCACHEMAN) $(LVMTHINMAN) $(LVMRAIDMAN)
|
|
else
|
|
ifeq ("@FSADM@", "yes")
|
|
MAN8+=$(FSADMMAN)
|
|
endif
|
|
|
|
ifeq ("@BUILD_LVMDBUSD@", "yes")
|
|
MAN8+=$(LVMDBUSDMAN)
|
|
endif
|
|
|
|
ifeq ("@BUILD_LVMETAD@", "yes")
|
|
MAN8+=$(LVMETADMAN)
|
|
endif
|
|
|
|
ifeq ("@BUILD_LVMPOLLD@", "yes")
|
|
MAN8+=$(LVMPOLLDMAN)
|
|
endif
|
|
|
|
ifeq ("@BUILD_LVMLOCKD@", "yes")
|
|
MAN8+=$(LVMLOCKDMAN)
|
|
endif
|
|
|
|
ifeq ("@BLKDEACTIVATE@", "yes")
|
|
MAN8DM+=$(BLKDEACTIVATEMAN)
|
|
endif
|
|
|
|
ifeq ("@BUILD_DMEVENTD@", "yes")
|
|
MAN8DM+=$(DMEVENTDMAN)
|
|
endif
|
|
|
|
ifeq ("@BUILD_DMFILEMAPD@", "yes")
|
|
MAN8DM+=$(DMFILEMAPDMAN)
|
|
endif
|
|
|
|
ifneq ("@CLVMD@", "none")
|
|
MAN8CLUSTER+=$(CLVMDMAN)
|
|
endif
|
|
|
|
ifeq ("@BUILD_CMIRRORD@", "yes")
|
|
MAN8CLUSTER+=$(CMIRRORDMAN)
|
|
endif
|
|
|
|
ifneq ("@CACHE@", "none")
|
|
MAN7+=$(LVMCACHEMAN)
|
|
endif
|
|
|
|
ifneq ("@THIN@", "none")
|
|
MAN7+=$(LVMTHINMAN)
|
|
endif
|
|
|
|
ifneq ("@RAID@", "none")
|
|
MAN7+=$(LVMRAIDMAN)
|
|
endif
|
|
endif
|
|
|
|
MAN5DIR=$(mandir)/man5
|
|
MAN7DIR=$(mandir)/man7
|
|
MAN8DIR=$(mandir)/man8
|
|
|
|
MANGENERATOR=$(top_builddir)/tools/man-generator
|
|
TESTMAN=test.gen
|
|
|
|
include $(top_builddir)/make.tmpl
|
|
|
|
CLEAN_TARGETS+=$(MAN5) $(MAN7) $(MAN8) $(MAN8SO) $(MAN8:%.8=%.8_gen) $(MAN8CLUSTER) \
|
|
$(MAN8SYSTEMD_GENERATORS) $(MAN8DM) $(TESTMAN)
|
|
DISTCLEAN_TARGETS+=$(FSADMMAN) $(BLKDEACTIVATEMAN) $(DMEVENTDMAN) \
|
|
$(LVMETADMAN) $(LVMPOLLDMAN) $(LVMLOCKDMAN) $(CLVMDMAN) $(CMIRRORDMAN) \
|
|
$(LVMCACHEMAN) $(LVMTHINMAN) $(LVMDBUSDMAN) $(LVMRAIDMAN) \
|
|
$(DMFILEMAPDMAN)
|
|
|
|
all: man device-mapper
|
|
|
|
.PHONY: man install_man5 install_man7 install_man8 pregenerated_man
|
|
|
|
device-mapper: $(MAN8DM)
|
|
|
|
man: $(MAN5) $(MAN7) $(MAN8) $(MAN8SO) $(MAN8CLUSTER) $(MAN8SYSTEMD_GENERATORS)
|
|
|
|
all_man: man
|
|
|
|
$(MAN5) $(MAN7) $(MAN8) $(MAN8SO) $(MAN8DM) $(MAN8CLUSTER) $(MAN8SYSTEMD_GENERATORS): Makefile
|
|
|
|
# Test whether or not the man page generator works
|
|
$(TESTMAN): $(MANGENERATOR) Makefile
|
|
- $(MANGENERATOR) --primary lvmconfig > $@
|
|
|
|
SEE_ALSO=$(srcdir)/see_also.end
|
|
|
|
.PRECIOUS: %.8_gen
|
|
|
|
%.8_gen: $(srcdir)/%.8_des $(srcdir)/%.8_end $(MANGENERATOR) $(TESTMAN)
|
|
@( \
|
|
if [ ! -s $(TESTMAN) ] ; then \
|
|
echo "Copying pre-generated template $@" ; \
|
|
else \
|
|
echo "Generating template $@" ; \
|
|
fi \
|
|
)
|
|
set -e ; ( \
|
|
if [ ! -s $(TESTMAN) ] ; then \
|
|
cat $(srcdir)/$(@:%.8_gen=%.8_pregen) ; \
|
|
else \
|
|
MANCMD=$(basename $@) && \
|
|
$(MANGENERATOR) --primary $$MANCMD $< && \
|
|
$(MANGENERATOR) --secondary $$MANCMD && \
|
|
cat $(srcdir)/$(basename $@).8_end && \
|
|
cat $(SEE_ALSO) ; \
|
|
fi \
|
|
) > $@
|
|
|
|
define SUBSTVARS
|
|
echo "Generating $@"
|
|
$(SED) -e "s+#VERSION#+$(LVM_VERSION)+" \
|
|
-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)+" \
|
|
-e "s+#CLVMD_PATH#+$(exec_prefix)/clvmd+" \
|
|
-e "s+#LVM_PATH#+$(exec_prefix)/lvm+" \
|
|
-e "s+#DEFAULT_RUN_DIR#+$(DEFAULT_RUN_DIR)+" \
|
|
-e "s+#DEFAULT_PID_DIR#+$(DEFAULT_PID_DIR)+" \
|
|
-e "s+#SYSTEMD_GENERATOR_DIR#+$(SYSTEMD_GENERATOR_DIR)+" \
|
|
-e "s+#DEFAULT_MANGLING#+$(DEFAULT_MANGLING)+" $< > $@
|
|
endef
|
|
|
|
# Escape any '-':
|
|
#
|
|
# - multiple (>= 2)
|
|
# - in ' -'
|
|
# - in ranges
|
|
# - in middle of options (e.g. '--use-policies') and their arguments
|
|
# - in symbolic use (e.g. '->')
|
|
# - in "$vg-$lv"
|
|
# - in single one in '\\f.-'
|
|
define ESCAPEHYPHENS
|
|
$(SED) -i -e "s+\([ [:alpha:]]\)-\{7\}+\1\\\-\\\-\\\-\\\-\\\-\\\-\\\-+g" \
|
|
-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" \
|
|
-e "s+|-\\\-+\\\-\\\-+g" \
|
|
-e "s+ -\"+ \\\-\"+g" \
|
|
-e "s+'--'+'\\\-\\\-'+g" \
|
|
-e "s+^--+\\\-\\\-+g" \
|
|
-e "s+\([[:alnum:]]\) - \([[:alnum:]]\)+\1 \\\- \2+g" \
|
|
-e "s+\(<\)-+\1\\\-+g" \
|
|
-e "s+[^\\]-\(>\)+\\\-\1+g" \
|
|
-e "s+\([[:alnum:]]\{2,\}\)\\\-\([[:alnum:]]\{2,\}\)+\1-\2+g" \
|
|
-e "s+\(\\\-\\\-[[:alnum:]]\{2,\}\)-+\1\\\-+g" \
|
|
-e "s+\(lvm2\-activation\)+lvm2\\\-activation+" \
|
|
-e "s+\([^\\]\)-pool+\1\\\-pool+g" \
|
|
-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" $@
|
|
endef
|
|
|
|
%.5: $(srcdir)/%.5_main
|
|
$(SUBSTVARS)
|
|
$(ESCAPEHYPHENS)
|
|
|
|
%.7: $(srcdir)/%.7_main
|
|
$(SUBSTVARS)
|
|
$(ESCAPEHYPHENS)
|
|
|
|
%.8: $(srcdir)/%.8_main
|
|
$(SUBSTVARS)
|
|
$(ESCAPEHYPHENS)
|
|
|
|
%.8: %.8_gen
|
|
$(SUBSTVARS)
|
|
$(ESCAPEHYPHENS)
|
|
|
|
$(MAN8SO): lvmconfig.8
|
|
echo ".so $<" > $@
|
|
|
|
install_man5: $(MAN5)
|
|
$(INSTALL) -d $(MAN5DIR)
|
|
$(INSTALL_DATA) $(MAN5) $(MAN5DIR)/
|
|
|
|
install_man7: $(MAN7)
|
|
$(INSTALL) -d $(MAN7DIR)
|
|
$(INSTALL_DATA) $(MAN7) $(MAN7DIR)/
|
|
|
|
install_man8: $(MAN8) $(MAN8SO)
|
|
$(INSTALL) -d $(MAN8DIR)
|
|
$(INSTALL_DATA) $(MAN8) $(MAN8SO) $(MAN8DIR)/
|
|
|
|
install_lvm2: install_man5 install_man7 install_man8
|
|
|
|
install_cluster: $(MAN8CLUSTER)
|
|
ifdef MAN8CLUSTER
|
|
$(INSTALL) -d $(MAN8DIR)
|
|
$(INSTALL_DATA) $(MAN8CLUSTER) $(MAN8DIR)/
|
|
endif
|
|
|
|
install_device-mapper: $(MAN8DM)
|
|
$(INSTALL) -d $(MAN8DIR)
|
|
$(INSTALL_DATA) $(MAN8DM) $(MAN8DIR)/
|
|
|
|
install_systemd_generators: $(MAN8SYSTEMD_GENERATORS)
|
|
$(INSTALL) -d $(MAN8DIR)
|
|
$(INSTALL_DATA) $(MAN8SYSTEMD_GENERATORS) $(MAN8DIR)/
|
|
|
|
install: install_lvm2 install_device-mapper install_cluster
|
|
|
|
install_all_man: install install_systemd_generators
|
|
|
|
# Copy generated man pages back to source tree as fallback for machines where generator doesn't work
|
|
pregenerated_man: all
|
|
set -e ; for i in $(srcdir)/*.8_des; do \
|
|
CMD=`basename $$i .8_des`; \
|
|
cat $${CMD}.8_gen > $(srcdir)/$$CMD.8_pregen ; \
|
|
done
|
|
|
|
generate: pregenerated_man
|