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.
2012-02-28 22:35:04 +04:00
# Copyright (C) 2004-2012 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,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 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
2004-04-06 19:14:23 +04:00
SOURCES = \
2003-10-16 00:17:19 +04:00
dumpconfig.c \
2004-09-14 20:42:46 +04:00
formats.c \
2001-10-30 17:32:48 +03:00
lvchange.c \
2005-06-06 21:12:08 +04:00
lvconvert.c \
2015-03-12 18:23:19 +03:00
lvconvert_poll.c \
2001-11-06 22:02:26 +03:00
lvcreate.c \
2001-11-08 19:15:58 +03:00
lvdisplay.c \
2001-11-10 01:01:04 +03:00
lvextend.c \
2001-10-12 14:32:06 +04:00
lvmchange.c \
2004-03-26 16:21:12 +03:00
lvmcmdline.c \
2002-02-05 17:31:57 +03:00
lvmdiskscan.c \
2001-11-08 19:15:58 +03:00
lvreduce.c \
2001-10-29 16:52:23 +03:00
lvremove.c \
2001-11-15 20:27:45 +03:00
lvrename.c \
2001-11-13 17:17:50 +03:00
lvresize.c \
2001-10-29 21:23:35 +03:00
lvscan.c \
2004-05-05 21:56:20 +04:00
polldaemon.c \
2001-10-17 19:29:31 +04:00
pvchange.c \
2007-03-31 01:00:26 +04:00
pvck.c \
2001-10-12 14:32:06 +04:00
pvcreate.c \
2001-10-18 20:55:19 +04:00
pvdisplay.c \
2003-04-30 19:28:17 +04:00
pvmove.c \
2015-03-12 18:21:43 +03:00
pvmove_poll.c \
2002-11-18 17:04:08 +03:00
pvremove.c \
2005-10-31 05:37:29 +03:00
pvresize.c \
2001-10-16 22:07:54 +04:00
pvscan.c \
2004-03-26 15:25:15 +03:00
reporter.c \
2004-09-14 20:42:46 +04:00
segtypes.c \
2014-01-30 17:09:15 +04:00
tags.c \
2001-10-12 14:32:06 +04:00
toollib.c \
2001-12-20 19:05:14 +03:00
vgcfgbackup.c \
2002-01-15 20:37:23 +03:00
vgcfgrestore.c \
2001-10-16 20:25:28 +04:00
vgchange.c \
2001-12-20 19:05:14 +03:00
vgck.c \
2001-10-12 16:21:43 +04:00
vgcreate.c \
2002-11-18 17:04:08 +03:00
vgconvert.c \
2001-11-19 18:20:50 +03:00
vgdisplay.c \
2002-01-29 20:23:33 +03:00
vgexport.c \
2001-10-16 02:04:27 +04:00
vgextend.c \
2002-01-29 22:19:37 +03:00
vgimport.c \
2001-11-27 20:02:24 +03:00
vgmerge.c \
2003-11-12 22:16:48 +03:00
vgmknodes.c \
2015-05-09 02:59:18 +03:00
lvpoll.c \
2001-10-12 14:32:06 +04:00
vgreduce.c \
vgremove.c \
2001-10-29 16:52:23 +03:00
vgrename.c \
2002-05-31 23:30:51 +04:00
vgscan.c \
vgsplit.c
2001-09-21 16:37:43 +04:00
2009-09-11 19:52:22 +04:00
SOURCES2 = \
2010-03-29 18:17:59 +04:00
dmsetup.c \
lvm.c \
lvm2cmd-static.c \
lvm2cmd.c \
lvmcmdlib.c
2009-09-11 19:52:22 +04:00
2004-04-06 19:14:23 +04:00
TARGETS = \
2001-12-03 23:23:53 +03:00
.commands \
2010-03-29 18:17:59 +04:00
liblvm2cmd.a \
2001-09-21 16:37:43 +04:00
lvm
2009-05-11 14:13:28 +04:00
TARGETS_DM = dmsetup
2008-11-04 20:25:32 +03:00
INSTALL_LVM_TARGETS = install_tools_dynamic
INSTALL_DMSETUP_TARGETS = install_dmsetup_dynamic
2010-04-10 01:42:48 +04:00
INSTALL_CMDLIB_TARGETS = install_cmdlib_dynamic install_cmdlib_include
2003-01-09 01:44:07 +03:00
2004-04-06 19:14:23 +04:00
i f e q ( "@STATIC_LINK@" , "yes" )
2009-05-11 14:13:28 +04:00
TARGETS += lvm.static
TARGETS_DM += dmsetup.static
2008-11-04 20:25:32 +03:00
INSTALL_LVM_TARGETS += install_tools_static
INSTALL_DMSETUP_TARGETS += install_dmsetup_static
2004-04-06 19:14:23 +04:00
INSTALL_CMDLIB_TARGETS += install_cmdlib_static
e n d i f
2010-03-04 14:12:39 +03:00
LVMLIBS = $( LVMINTERNAL_LIBS)
2009-05-21 15:11:29 +04:00
LIB_VERSION = $( LIB_VERSION_LVM)
2004-03-26 16:21:12 +03:00
2010-03-29 18:17:59 +04:00
CLEAN_TARGETS = liblvm2cmd.$( LIB_SUFFIX) $( TARGETS_DM) \
2010-04-10 01:42:48 +04:00
liblvm2cmd.$( LIB_SUFFIX) .$( LIB_VERSION) lvm-static.o \
2010-03-29 18:17:59 +04:00
liblvm2cmd-static.a dmsetup.static lvm.static
2004-03-26 16:21:12 +03:00
i f e q ( "@CMDLIB@" , "yes" )
2010-04-10 01:42:48 +04:00
TARGETS += liblvm2cmd.$( LIB_SUFFIX) .$( LIB_VERSION)
2008-11-04 20:25:32 +03:00
INSTALL_LVM_TARGETS += $( INSTALL_CMDLIB_TARGETS)
2004-03-26 16:21:12 +03:00
e n d i f
2005-12-08 20:49:34 +03:00
i f e q ( "@DMEVENTD@" , "yes" )
2010-03-04 14:21:05 +03:00
LVMLIBS += -ldevmapper-event
2003-01-09 01:44:07 +03:00
e n d i f
2006-05-16 20:48:31 +04:00
LVMLIBS += -ldevmapper
2005-12-02 23:35:07 +03:00
2010-06-25 22:23:10 +04:00
EXPORTED_HEADER = $( srcdir) /lvm2cmd.h
EXPORTED_FN_PREFIX = lvm2
2006-04-19 19:33:07 +04:00
DEFS += -DLVM_SHARED_PATH= \" $( exec_prefix) /sbin/lvm\"
2005-02-18 21:58:31 +03:00
2010-03-29 18:11:17 +04:00
CFLOW_LIST = lvmcmdlib.c lvm2cmd.c
CFLOW_LIST_TARGET = liblvm2cmd.cflow
CFLOW_TARGET = lvm
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
2009-05-11 14:13:28 +04:00
device-mapper : $( TARGETS_DM )
2008-11-01 05:19:19 +03:00
2014-03-06 19:26:18 +04:00
CFLAGS_dmsetup.o += $( UDEV_CFLAGS) $( EXTRA_EXEC_CFLAGS)
2013-12-05 17:19:10 +04:00
2009-10-02 23:10:31 +04:00
dmsetup : dmsetup .o $( top_builddir ) /libdm /libdevmapper .$( LIB_SUFFIX )
2013-12-05 17:19:10 +04:00
$( CC) $( CFLAGS) $( LDFLAGS) $( EXTRA_EXEC_LDFLAGS) -L$( top_builddir) /libdm \
2010-03-04 14:21:05 +03:00
-o $@ dmsetup.o -ldevmapper $( LIBS)
2008-11-01 05:19:19 +03:00
2010-01-19 04:10:46 +03:00
dmsetup.static : dmsetup .o $( interfacebuilddir ) /libdevmapper .a
$( CC) $( CFLAGS) $( LDFLAGS) -static -L$( interfacebuilddir) \
2010-03-04 15:08:26 +03:00
-o $@ dmsetup.o -ldevmapper $( STATIC_LIBS) $( LIBS)
2008-11-01 05:19:19 +03:00
all : device -mapper
2013-12-05 17:19:10 +04:00
CFLAGS_lvm.o += $( EXTRA_EXEC_CFLAGS)
2015-02-12 17:32:30 +03:00
CFLAGS_lvmcmdline.o += $( VALGRIND_CFLAGS)
2013-12-05 17:19:10 +04:00
2009-10-02 23:10:31 +04:00
lvm : $( OBJECTS ) lvm .o $( top_builddir ) /lib /liblvm -internal .a
2013-12-05 17:19:10 +04:00
$( CC) $( CFLAGS) $( LDFLAGS) $( EXTRA_EXEC_LDFLAGS) $( ELDFLAGS) -o $@ $( OBJECTS) lvm.o \
2010-03-04 14:21:05 +03:00
$( LVMLIBS) $( READLINE_LIBS) $( LIBS) -rdynamic
2004-04-06 19:14:23 +04:00
2013-01-05 03:10:38 +04:00
i f e q ( "@BUILD_LVMETAD@" , "yes" )
lvm : $( top_builddir ) /libdaemon /client /libdaemonclient .a
e n d i f
2010-01-19 04:10:46 +03:00
lvm.static : $( OBJECTS ) lvm -static .o $( top_builddir ) /lib /liblvm -internal .a $( interfacebuilddir ) /libdevmapper .a
$( CC) $( CFLAGS) $( LDFLAGS) -static -L$( interfacebuilddir) -o $@ \
2010-03-04 15:08:26 +03:00
$( OBJECTS) lvm-static.o $( LVMLIBS) $( STATIC_LIBS) $( LIBS)
2004-03-26 16:21:12 +03:00
2009-10-02 23:10:31 +04:00
liblvm2cmd.a : $( top_builddir ) /lib /liblvm -internal .a $( OBJECTS ) lvmcmdlib .o lvm 2cmd .o
cat $( top_builddir) /lib/liblvm-internal.a > $@
2006-08-19 01:17:18 +04:00
$( AR) rs $@ $( OBJECTS) lvmcmdlib.o lvm2cmd.o
2009-10-02 23:10:31 +04:00
liblvm2cmd-static.a : $( top_builddir ) /lib /liblvm -internal .a $( OBJECTS ) lvmcmdlib .o lvm 2cmd -static .o
cat $( top_builddir) /lib/liblvm-internal.a > $@
2006-08-19 01:17:18 +04:00
$( AR) rs $@ $( OBJECTS) lvmcmdlib.o lvm2cmd-static.o
2004-03-26 16:21:12 +03:00
2008-11-14 23:59:56 +03:00
liblvm2cmd.$(LIB_SUFFIX) : liblvm 2cmd .a $( LDDEPS )
2010-05-11 12:34:38 +04:00
$( CC) -shared -Wl,-soname,$@ .$( LIB_VERSION) \
2010-10-15 13:41:21 +04:00
$( CFLAGS) $( CLDFLAGS) -o $@ \
@CLDWHOLEARCHIVE@ liblvm2cmd.a @CLDNOWHOLEARCHIVE@ \
$( LVMLIBS) $( LIBS)
2001-09-21 16:37:43 +04:00
2010-04-10 01:42:48 +04:00
liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION) : liblvm 2cmd .$( LIB_SUFFIX )
$( LN_S) -f $< $@
2010-04-10 01:34:25 +04:00
.commands : $( srcdir ) /commands .h $( srcdir ) /cmdnames .h Makefile
2009-10-02 23:10:31 +04:00
$( CC) -E -P $( srcdir) /cmdnames.h 2> /dev/null | \
2015-05-09 02:59:18 +03:00
egrep -v '^ *(|#.*|config|devtypes|dumpconfig|formats|help|lvpoll|pvdata|segtypes|systemid|tags|version) *$$' > .commands
2001-09-21 16:37:43 +04:00
2010-03-04 12:53:08 +03:00
i f n e q ( "$(CFLOW_CMD)" , "" )
2010-03-29 18:11:17 +04:00
CFLOW_SOURCES = $( addprefix $( srcdir) /, $( SOURCES) )
- i n c l u d e $( top_builddir ) / l i b d m / l i b d e v m a p p e r . c f l o w
- i n c l u d e $( top_builddir ) / l i b / l i b l v m - i n t e r n a l . c f l o w
2006-04-19 19:33:07 +04:00
e n d i f
2010-04-10 01:42:48 +04:00
.PHONY : install_cmdlib_dynamic install_cmdlib_static install_cmdlib_include \
2010-03-29 18:17:59 +04:00
install_tools_dynamic install_tools_static \
install_dmsetup_dynamic install_dmsetup_static
2010-04-10 01:42:48 +04:00
install_cmdlib_include : $( srcdir ) /lvm 2cmd .h
$( INSTALL_DATA) -D $< $( includedir) /$( <F)
2008-11-14 23:59:56 +03:00
install_cmdlib_dynamic : liblvm 2cmd .$( LIB_SUFFIX )
2010-04-10 01:42:48 +04:00
$( INSTALL_PROGRAM) -D $< $( libdir) /$( <F) .$( LIB_VERSION)
2010-06-03 17:52:21 +04:00
$( INSTALL_DIR) $( usrlibdir)
2010-04-15 19:12:20 +04:00
$( LN_S) -f $( USRLIB_RELPATH) $( <F) .$( LIB_VERSION) $( usrlibdir) /$( <F)
2004-03-26 16:21:12 +03:00
2006-08-19 01:17:18 +04:00
install_cmdlib_static : liblvm 2cmd -static .a
2010-04-10 01:42:48 +04:00
$( INSTALL_DATA) -D $< $( usrlibdir) /liblvm2cmd.a
2004-04-06 19:14:23 +04:00
install_tools_dynamic : lvm .commands
2010-04-10 01:42:48 +04:00
$( INSTALL_PROGRAM) -D lvm $( sbindir) /lvm
2002-01-02 17:23:10 +03:00
@echo Creating symbolic links for individual commands in $( sbindir)
2010-04-10 01:42:48 +04:00
@for v in ` cat .commands` ; do \
echo " $( LN_S) -f lvm $( sbindir) / $$ v " ; \
$( LN_S) -f lvm $( sbindir) /$$ v; \
done ;
2001-09-21 16:37:43 +04:00
2004-04-06 19:14:23 +04:00
install_tools_static : lvm .static
2010-04-10 01:42:48 +04:00
$( INSTALL_PROGRAM) -D $< $( staticdir) /$( <F)
2004-04-06 19:14:23 +04:00
2008-11-04 20:25:32 +03:00
install_dmsetup_dynamic : dmsetup
2010-04-10 01:42:48 +04:00
$( INSTALL_PROGRAM) -D $< $( sbindir) /$( <F)
2008-11-04 20:25:32 +03:00
install_dmsetup_static : dmsetup .static
2010-04-10 01:42:48 +04:00
$( INSTALL_PROGRAM) -D $< $( staticdir) /$( <F)
2008-11-04 20:25:32 +03:00
install_device-mapper : $( INSTALL_DMSETUP_TARGETS )
2009-05-11 14:28:45 +04:00
install_lvm2 : $( INSTALL_LVM_TARGETS )
install : install_lvm 2 install_device -mapper