| # |
| # Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. |
| # Copyright (C) 2004-2012 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| |
| srcdir = @srcdir@ |
| top_srcdir = @top_srcdir@ |
| top_builddir = @top_builddir@ |
| |
| SOURCES =\ |
| dumpconfig.c \ |
| formats.c \ |
| lvchange.c \ |
| lvconvert.c \ |
| lvconvert_poll.c \ |
| lvcreate.c \ |
| lvdisplay.c \ |
| lvextend.c \ |
| lvmchange.c \ |
| lvmcmdline.c \ |
| lvmdiskscan.c \ |
| lvreduce.c \ |
| lvremove.c \ |
| lvrename.c \ |
| lvresize.c \ |
| lvscan.c \ |
| polldaemon.c \ |
| pvchange.c \ |
| pvck.c \ |
| pvcreate.c \ |
| pvdisplay.c \ |
| pvmove.c \ |
| pvmove_poll.c \ |
| pvremove.c \ |
| pvresize.c \ |
| pvscan.c \ |
| reporter.c \ |
| segtypes.c \ |
| tags.c \ |
| toollib.c \ |
| vgcfgbackup.c \ |
| vgcfgrestore.c \ |
| vgchange.c \ |
| vgck.c \ |
| vgcreate.c \ |
| vgconvert.c \ |
| vgdisplay.c \ |
| vgexport.c \ |
| vgextend.c \ |
| vgimport.c \ |
| vgmerge.c \ |
| vgmknodes.c \ |
| lvpoll.c \ |
| vgreduce.c \ |
| vgremove.c \ |
| vgrename.c \ |
| vgscan.c \ |
| vgsplit.c |
| |
| SOURCES2 =\ |
| dmsetup.c \ |
| lvm.c \ |
| lvm2cmd-static.c \ |
| lvm2cmd.c \ |
| lvmcmdlib.c |
| |
| TARGETS =\ |
| .commands \ |
| liblvm2cmd.a \ |
| lvm |
| |
| TARGETS_DM = dmsetup |
| |
| INSTALL_LVM_TARGETS = install_tools_dynamic |
| INSTALL_DMSETUP_TARGETS = install_dmsetup_dynamic |
| INSTALL_CMDLIB_TARGETS = install_cmdlib_dynamic install_cmdlib_include |
| |
| ifeq ("@STATIC_LINK@", "yes") |
| TARGETS += lvm.static |
| TARGETS_DM += dmsetup.static |
| INSTALL_LVM_TARGETS += install_tools_static |
| INSTALL_DMSETUP_TARGETS += install_dmsetup_static |
| INSTALL_CMDLIB_TARGETS += install_cmdlib_static |
| endif |
| |
| LVMLIBS = $(LVMINTERNAL_LIBS) |
| LIB_VERSION = $(LIB_VERSION_LVM) |
| |
| CLEAN_TARGETS = liblvm2cmd.$(LIB_SUFFIX) $(TARGETS_DM) \ |
| liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION) lvm-static.o \ |
| liblvm2cmd-static.a dmsetup.static lvm.static \ |
| $(LDDEPS) .exported_symbols_generated |
| |
| ifeq ("@CMDLIB@", "yes") |
| TARGETS += liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION) |
| INSTALL_LVM_TARGETS += $(INSTALL_CMDLIB_TARGETS) |
| endif |
| |
| ifeq ("@DMEVENTD@", "yes") |
| LVMLIBS += -ldevmapper-event |
| endif |
| |
| LVMLIBS += -ldevmapper |
| |
| EXPORTED_HEADER = $(srcdir)/lvm2cmd.h |
| EXPORTED_FN_PREFIX = lvm2 |
| |
| CFLOW_LIST = lvmcmdlib.c lvm2cmd.c |
| CFLOW_LIST_TARGET = liblvm2cmd.cflow |
| CFLOW_TARGET = lvm |
| |
| include $(top_builddir)/make.tmpl |
| |
| device-mapper: $(TARGETS_DM) |
| |
| CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS) |
| |
| dmsetup: dmsetup.o $(top_builddir)/libdm/libdevmapper.$(LIB_SUFFIX) |
| $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) -L$(top_builddir)/libdm \ |
| -o $@ dmsetup.o -ldevmapper $(LIBS) |
| |
| dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a |
| $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \ |
| -o $@ dmsetup.o -ldevmapper $(STATIC_LIBS) $(LIBS) |
| |
| all: device-mapper |
| |
| CFLAGS_lvm.o += $(EXTRA_EXEC_CFLAGS) |
| CFLAGS_lvmcmdline.o += $(VALGRIND_CFLAGS) |
| |
| lvm: $(OBJECTS) lvm.o $(top_builddir)/lib/liblvm-internal.a |
| $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) -o $@ $(OBJECTS) lvm.o \ |
| $(LVMLIBS) $(READLINE_LIBS) $(LIBS) -rdynamic |
| |
| ifeq ("@BUILD_LVMETAD@", "yes") |
| lvm: $(top_builddir)/libdaemon/client/libdaemonclient.a |
| endif |
| |
| lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a |
| $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \ |
| $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS) |
| |
| liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o |
| cat $(top_builddir)/lib/liblvm-internal.a > $@ |
| $(AR) rs $@ $(OBJECTS) lvmcmdlib.o lvm2cmd.o |
| |
| liblvm2cmd-static.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd-static.o |
| cat $(top_builddir)/lib/liblvm-internal.a > $@ |
| $(AR) rs $@ $(OBJECTS) lvmcmdlib.o lvm2cmd-static.o |
| |
| liblvm2cmd.$(LIB_SUFFIX): liblvm2cmd.a $(LDDEPS) |
| $(CC) -shared -Wl,-soname,$@.$(LIB_VERSION) \ |
| $(CFLAGS) $(CLDFLAGS) -o $@ \ |
| @CLDWHOLEARCHIVE@ liblvm2cmd.a @CLDNOWHOLEARCHIVE@ \ |
| $(LVMLIBS) $(LIBS) |
| |
| liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION): liblvm2cmd.$(LIB_SUFFIX) |
| $(LN_S) -f $< $@ |
| |
| .commands: $(srcdir)/commands.h $(srcdir)/cmdnames.h Makefile |
| $(CC) -E -P $(srcdir)/cmdnames.h 2> /dev/null | \ |
| egrep -v '^ *(|#.*|config|devtypes|dumpconfig|formats|help|lvpoll|pvdata|segtypes|systemid|tags|version) *$$' > .commands |
| |
| ifneq ("$(CFLOW_CMD)", "") |
| CFLOW_SOURCES = $(addprefix $(srcdir)/, $(SOURCES)) |
| -include $(top_builddir)/libdm/libdevmapper.cflow |
| -include $(top_builddir)/lib/liblvm-internal.cflow |
| endif |
| |
| .PHONY: install_cmdlib_dynamic install_cmdlib_static install_cmdlib_include \ |
| install_tools_dynamic install_tools_static \ |
| install_dmsetup_dynamic install_dmsetup_static |
| |
| install_cmdlib_include: $(srcdir)/lvm2cmd.h |
| $(INSTALL_DATA) -D $< $(includedir)/$(<F) |
| |
| install_cmdlib_dynamic: liblvm2cmd.$(LIB_SUFFIX) |
| $(INSTALL_PROGRAM) -D $< $(libdir)/$(<F).$(LIB_VERSION) |
| $(INSTALL_DIR) $(usrlibdir) |
| $(LN_S) -f $(USRLIB_RELPATH)$(<F).$(LIB_VERSION) $(usrlibdir)/$(<F) |
| |
| install_cmdlib_static: liblvm2cmd-static.a |
| $(INSTALL_DATA) -D $< $(usrlibdir)/liblvm2cmd.a |
| |
| install_tools_dynamic: lvm .commands |
| $(INSTALL_PROGRAM) -D lvm $(sbindir)/lvm |
| @echo Creating symbolic links for individual commands in $(sbindir) |
| @for v in `cat .commands`; do \ |
| echo "$(LN_S) -f lvm $(sbindir)/$$v"; \ |
| $(LN_S) -f lvm $(sbindir)/$$v; \ |
| done; |
| |
| install_tools_static: lvm.static |
| $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F) |
| |
| install_dmsetup_dynamic: dmsetup |
| $(INSTALL_PROGRAM) -D $< $(sbindir)/$(<F) |
| $(LN_S) -f $(<F) $(sbindir)/dmstats |
| |
| install_dmsetup_static: dmsetup.static |
| $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F) |
| $(LN_S) -f $(<F) $(sbindir)/dmstats |
| |
| install_device-mapper: $(INSTALL_DMSETUP_TARGETS) |
| |
| install_lvm2: $(INSTALL_LVM_TARGETS) |
| |
| install: install_lvm2 install_device-mapper |