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.
2007-08-21 00:55:30 +04:00
# Copyright (C) 2004-2007 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@
VPATH = @srcdir@
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 \
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 \
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 \
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 \
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
2004-04-06 19:14:23 +04:00
TARGETS = \
2001-12-03 23:23:53 +03:00
.commands \
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
2004-04-06 19:14:23 +04:00
INSTALL_CMDLIB_TARGETS = install_cmdlib_dynamic
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
2009-03-06 19:17:28 +03:00
LVMLIBS = -llvm-internal
2009-05-21 15:11:29 +04:00
LIB_VERSION = $( LIB_VERSION_LVM)
2004-03-26 16:21:12 +03:00
2008-11-14 23:59:56 +03:00
CLEAN_TARGETS = liblvm2cmd.$( LIB_SUFFIX) liblvm2cmd.a liblvm2cmd-static.a lvm lvm.o \
2006-08-19 01:17:18 +04:00
lvm2cmd.o lvm2cmd-static.o lvm2cmdlib.o lvm.static \
2006-10-27 00:37:13 +04:00
lvm.cflow lvm.xref lvm.tree lvm.rxref lvm.rtree \
2009-05-11 14:13:28 +04:00
lvmcmdlib.o lvm-static.o dmsetup.o $( TARGETS_DM)
2004-03-26 16:21:12 +03:00
i f e q ( "@CMDLIB@" , "yes" )
2008-11-14 23:59:56 +03:00
TARGETS += liblvm2cmd.$( LIB_SUFFIX)
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" )
LVMLIBS += -ldevmapper-event -lpthread
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
2006-04-19 19:33:07 +04:00
DEFS += -DLVM_SHARED_PATH= \" $( exec_prefix) /sbin/lvm\"
2005-02-18 21:58:31 +03:00
2004-06-15 21:23:49 +04:00
i n c l u d e $( top_srcdir ) / 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
2008-11-04 01:14:30 +03:00
dmsetup : dmsetup .o $( top_srcdir ) /libdm /libdevmapper .$( LIB_SUFFIX )
2008-11-01 05:19:19 +03:00
$( CC) -o $@ dmsetup.o $( CFLAGS) $( LDFLAGS) \
2009-04-08 18:08:05 +04:00
-L$( top_srcdir) /libdm -ldevmapper $( LIBS)
2008-11-01 05:19:19 +03:00
dmsetup.static : dmsetup .o $( interfacedir ) /libdevmapper .a
$( CC) -o $@ dmsetup.o $( CFLAGS) $( LDFLAGS) -static \
2009-04-08 18:08:05 +04:00
-L$( interfacedir) -ldevmapper $( LIBS) \
2008-11-01 05:19:19 +03:00
$( LIB_PTHREAD)
all : device -mapper
2009-03-06 19:17:28 +03:00
lvm : $( OBJECTS ) lvm .o $( top_srcdir ) /lib /liblvm -internal .a
2008-05-20 00:06:34 +04:00
$( CC) -o $@ $( CFLAGS) $( OBJECTS) lvm.o \
2007-01-11 20:12:27 +03:00
$( LDFLAGS) $( LVMLIBS) $( LIBS) -rdynamic
2004-04-06 19:14:23 +04:00
2007-09-12 20:54:23 +04:00
LIB_PTHREAD = @LIB_PTHREAD@
2009-03-06 19:17:28 +03:00
lvm.static : $( OBJECTS ) lvm -static .o $( top_srcdir ) /lib /liblvm -internal .a $( interfacedir ) /libdevmapper .a
2008-05-20 00:06:34 +04:00
$( CC) -o $@ $( CFLAGS) $( OBJECTS) lvm-static.o -static \
2008-11-10 16:41:43 +03:00
-L$( interfacedir) $( LDFLAGS) $( LVMLIBS) $( LIBS) $( LIB_PTHREAD) -rdynamic
2004-03-26 16:21:12 +03:00
2009-03-06 19:17:28 +03:00
liblvm2cmd.a : $( top_srcdir ) /lib /liblvm -internal .a $( OBJECTS ) lvmcmdlib .o lvm 2cmd .o
cat $( top_srcdir) /lib/liblvm-internal.a > $@
2006-08-19 01:17:18 +04:00
$( AR) rs $@ $( OBJECTS) lvmcmdlib.o lvm2cmd.o
2009-03-06 19:17:28 +03:00
liblvm2cmd-static.a : $( top_srcdir ) /lib /liblvm -internal .a $( OBJECTS ) lvmcmdlib .o lvm 2cmd -static .o
cat $( top_srcdir) /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 )
2001-09-21 16:37:43 +04:00
2002-12-12 23:55:49 +03:00
.commands : commands .h cmdnames .h Makefile
2003-04-15 17:24:42 +04:00
$( CC) -E -P cmdnames.h 2> /dev/null | \
2004-09-16 20:53:39 +04:00
egrep -v '^ *(|#.*|dumpconfig|formats|help|pvdata|segtypes|version) *$$' > .commands
2001-09-21 16:37:43 +04:00
2004-04-06 19:14:23 +04:00
.PHONY : install_cmdlib_dynamic install_cmdlib_static \
install_tools_dynamic install_tools_static
2004-03-26 16:21:12 +03:00
2006-04-19 19:33:07 +04:00
i f n e q ( "@CFLOW_CMD@" , "" )
CFLOW_FLAGS += --cpp= " $( CC) -E "
.PHONY : lvm .cflow
2009-03-06 19:17:28 +03:00
- i n c l u d e $( top_srcdir ) / 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
lvm.cflow : $( SOURCES )
2008-05-20 00:06:34 +04:00
@CFLOW_CMD@ -o$@ $( CFLOW_FLAGS) $( INCLUDES) $( DEFS) $( SOURCES)
2006-04-19 19:33:07 +04:00
lvm.rxref : $( SOURCES )
2008-05-20 00:06:34 +04:00
@CFLOW_CMD@ -o$@ --cpp= " $( CC) -E " -r --omit-arguments -x $( INCLUDES) $( DEFS) $( SOURCES)
2006-04-19 19:33:07 +04:00
lvm.xref : $( SOURCES )
2008-05-20 00:06:34 +04:00
@CFLOW_CMD@ -o$@ --cpp= " $( CC) -E " --omit-arguments -x $( INCLUDES) $( DEFS) $( SOURCES)
2006-04-19 19:33:07 +04:00
lvm.rtree : $( SOURCES )
2008-05-20 00:06:34 +04:00
@CFLOW_CMD@ -o$@ --cpp= " $( CC) -E " -r --omit-arguments -T -b $( INCLUDES) $( DEFS) $( SOURCES)
2006-04-19 19:33:07 +04:00
lvm.tree : $( SOURCES )
2008-05-20 00:06:34 +04:00
@CFLOW_CMD@ -o$@ --cpp= " $( CC) -E " --omit-arguments -T -b $( INCLUDES) $( DEFS) $( SOURCES)
2006-04-19 19:33:07 +04:00
cflow : lvm .cflow lvm .xref lvm .tree lvm .rtree lvm .rxref
e n d i f
2008-11-14 23:59:56 +03:00
install_cmdlib_dynamic : liblvm 2cmd .$( LIB_SUFFIX )
$( INSTALL) -D $( OWNER) $( GROUP) -m 555 $( STRIP) liblvm2cmd.$( LIB_SUFFIX) \
2009-05-21 15:11:29 +04:00
$( libdir) /liblvm2cmd.$( LIB_SUFFIX) .$( LIB_VERSION)
$( LN_S) -f liblvm2cmd.$( LIB_SUFFIX) .$( LIB_VERSION) $( libdir) /liblvm2cmd.$( LIB_SUFFIX)
2004-04-19 17:10:06 +04:00
$( INSTALL) -D $( OWNER) $( GROUP) -m 444 lvm2cmd.h \
2004-03-26 16:21:12 +03:00
$( includedir) /lvm2cmd.h
2006-08-19 01:17:18 +04:00
install_cmdlib_static : liblvm 2cmd -static .a
$( INSTALL) -D $( OWNER) $( GROUP) -m 555 $( STRIP) liblvm2cmd-static.a \
2009-05-21 15:11:29 +04:00
$( libdir) /liblvm2cmd.a.$( LIB_VERSION)
$( LN_S) -f liblvm2cmd.a.$( LIB_VERSION) $( libdir) /liblvm2cmd.a
2004-04-19 17:10:06 +04:00
$( INSTALL) -D $( OWNER) $( GROUP) -m 444 lvm2cmd.h \
2004-04-06 19:14:23 +04:00
$( includedir) /lvm2cmd.h
install_tools_dynamic : lvm .commands
2004-04-19 17:10:06 +04:00
$( INSTALL) -D $( OWNER) $( GROUP) -m 555 $( STRIP) lvm \
2001-12-03 23:23:53 +03:00
$( sbindir) /lvm
2002-01-02 17:23:10 +03:00
@echo Creating symbolic links for individual commands in $( sbindir)
@( \
2001-12-03 23:23:53 +03:00
for v in ` cat .commands` ; do \
cd $( sbindir) ; \
$( LN_S) -f lvm $$ v; \
done ; \
)
2001-09-21 16:37:43 +04:00
2004-04-06 19:14:23 +04:00
install_tools_static : lvm .static
2004-04-19 17:10:06 +04:00
$( INSTALL) -D $( OWNER) $( GROUP) -m 555 $( STRIP) lvm.static \
2004-04-14 22:00:23 +04:00
$( staticdir) /lvm.static
2004-04-06 19:14:23 +04:00
2008-11-04 20:25:32 +03:00
install_dmsetup_dynamic : dmsetup
$( INSTALL) -D $( OWNER) $( GROUP) -m 555 $( STRIP) $< $( sbindir) /$<
install_dmsetup_static : dmsetup .static
$( INSTALL) -D $( OWNER) $( GROUP) -m 555 $( STRIP) $< $( sbindir) /$<
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