]> sourceware.org Git - lvm2.git/blame - tools/Makefile.in
pre-release
[lvm2.git] / tools / Makefile.in
CommitLineData
795ca3e5 1#
6606c3ae 2# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
7126d8c2 3# Copyright (C) 2004-2012 Red Hat, Inc. All rights reserved.
795ca3e5 4#
7f8f8bfa 5# This file is part of LVM2.
795ca3e5 6#
6606c3ae
AK
7# This copyrighted material is made available to anyone wishing to use,
8# modify, copy, or redistribute it subject to the terms and conditions
9# of the GNU General Public License v.2.
795ca3e5 10#
6606c3ae
AK
11# You should have received a copy of the GNU General Public License
12# along with this program; if not, write to the Free Software Foundation,
13# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
795ca3e5
AK
14
15srcdir = @srcdir@
16top_srcdir = @top_srcdir@
db8b5af9 17top_builddir = @top_builddir@
795ca3e5 18
c5ff6dfa 19SOURCES =\
dcc31da5 20 dumpconfig.c \
156dd4f1 21 formats.c \
0fc8bab8 22 lvchange.c \
1a1f3d3e 23 lvconvert.c \
642c2e96 24 lvcreate.c \
94b8220f 25 lvdisplay.c \
7858f6fb 26 lvextend.c \
72a5e12b 27 lvmchange.c \
84510264 28 lvmcmdline.c \
af7bbe5a 29 lvmdiskscan.c \
94b8220f 30 lvreduce.c \
cfd658da 31 lvremove.c \
d9bc7ffe 32 lvrename.c \
03a8a07d 33 lvresize.c \
34e1c94b 34 lvscan.c \
cb919290 35 polldaemon.c \
8f8a968d 36 pvchange.c \
cc5a4e1d 37 pvck.c \
72a5e12b 38 pvcreate.c \
cd77c5a7 39 pvdisplay.c \
43ecb8ff 40 pvmove.c \
5a52dca9 41 pvremove.c \
3bf5f6f5 42 pvresize.c \
b6c041d7 43 pvscan.c \
040cfcf8 44 reporter.c \
156dd4f1 45 segtypes.c \
72a5e12b 46 toollib.c \
2041d905 47 vgcfgbackup.c \
f2f26349 48 vgcfgrestore.c \
a381c45a 49 vgchange.c \
2041d905 50 vgck.c \
9711fef7 51 vgcreate.c \
5a52dca9 52 vgconvert.c \
7f3859bb 53 vgdisplay.c \
f53c6aa6 54 vgexport.c \
ffb31621 55 vgextend.c \
df91af91 56 vgimport.c \
da4e57f2 57 vgmerge.c \
f7dd6d84 58 vgmknodes.c \
72a5e12b 59 vgreduce.c \
72a5e12b 60 vgremove.c \
cfd658da 61 vgrename.c \
fbbe942c
AK
62 vgscan.c \
63 vgsplit.c
795ca3e5 64
3649fa9e 65SOURCES2 =\
b7be589e
ZK
66 dmsetup.c \
67 lvm.c \
68 lvm2cmd-static.c \
69 lvm2cmd.c \
70 lvmcmdlib.c
3649fa9e 71
c5ff6dfa 72TARGETS =\
a03f2320 73 .commands \
b7be589e 74 liblvm2cmd.a \
795ca3e5
AK
75 lvm
76
19363a13
MB
77TARGETS_DM = dmsetup
78
77b69aa7
AK
79INSTALL_LVM_TARGETS = install_tools_dynamic
80INSTALL_DMSETUP_TARGETS = install_dmsetup_dynamic
23b059e7 81INSTALL_CMDLIB_TARGETS = install_cmdlib_dynamic install_cmdlib_include
199e490e 82
c5ff6dfa 83ifeq ("@STATIC_LINK@", "yes")
19363a13
MB
84 TARGETS += lvm.static
85 TARGETS_DM += dmsetup.static
77b69aa7
AK
86 INSTALL_LVM_TARGETS += install_tools_static
87 INSTALL_DMSETUP_TARGETS += install_dmsetup_static
c5ff6dfa
AK
88 INSTALL_CMDLIB_TARGETS += install_cmdlib_static
89endif
90
f0f0b802 91LVMLIBS = $(LVMINTERNAL_LIBS)
4b896598 92LIB_VERSION = $(LIB_VERSION_LVM)
84510264 93
b7be589e 94CLEAN_TARGETS = liblvm2cmd.$(LIB_SUFFIX) $(TARGETS_DM) \
23b059e7 95 liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION) lvm-static.o \
b7be589e 96 liblvm2cmd-static.a dmsetup.static lvm.static
84510264
AK
97
98ifeq ("@CMDLIB@", "yes")
23b059e7 99 TARGETS += liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION)
77b69aa7 100 INSTALL_LVM_TARGETS += $(INSTALL_CMDLIB_TARGETS)
84510264
AK
101endif
102
e6493477 103ifeq ("@DMEVENTD@", "yes")
f30875db 104 LVMLIBS += -ldevmapper-event
199e490e
AK
105endif
106
2293567c 107LVMLIBS += -ldevmapper
15d91f5a 108
e6f716f5
AK
109EXPORTED_HEADER = $(srcdir)/lvm2cmd.h
110EXPORTED_FN_PREFIX = lvm2
111
8a2fc586 112DEFS += -DLVM_SHARED_PATH=\"$(exec_prefix)/sbin/lvm\"
8e3a97ba 113
b41f5924
ZK
114CFLOW_LIST = lvmcmdlib.c lvm2cmd.c
115CFLOW_LIST_TARGET = liblvm2cmd.cflow
116CFLOW_TARGET = lvm
117
814aebc4 118include $(top_builddir)/make.tmpl
795ca3e5 119
db724a44
ZK
120LIBS += $(UDEV_LIBS)
121
19363a13 122device-mapper: $(TARGETS_DM)
0782ad50 123
db8b5af9 124dmsetup: dmsetup.o $(top_builddir)/libdm/libdevmapper.$(LIB_SUFFIX)
902c4069 125 $(CC) $(CFLAGS) $(LDFLAGS) -L$(top_builddir)/libdm \
f30875db 126 -o $@ dmsetup.o -ldevmapper $(LIBS)
0782ad50 127
f7729ec6
AK
128dmsetup.static: dmsetup.o $(interfacebuilddir)/libdevmapper.a
129 $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) \
f8f6ec92 130 -o $@ dmsetup.o -ldevmapper $(STATIC_LIBS) $(LIBS)
0782ad50
AK
131
132all: device-mapper
133
db8b5af9 134lvm: $(OBJECTS) lvm.o $(top_builddir)/lib/liblvm-internal.a
bf09a320 135 $(CC) $(CFLAGS) $(LDFLAGS) $(ELDFLAGS) -o $@ $(OBJECTS) lvm.o \
f30875db 136 $(LVMLIBS) $(READLINE_LIBS) $(LIBS) -rdynamic
c5ff6dfa 137
f7729ec6
AK
138lvm.static: $(OBJECTS) lvm-static.o $(top_builddir)/lib/liblvm-internal.a $(interfacebuilddir)/libdevmapper.a
139 $(CC) $(CFLAGS) $(LDFLAGS) -static -L$(interfacebuilddir) -o $@ \
f8f6ec92 140 $(OBJECTS) lvm-static.o $(LVMLIBS) $(STATIC_LIBS) $(LIBS)
84510264 141
db8b5af9
AK
142liblvm2cmd.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd.o
143 cat $(top_builddir)/lib/liblvm-internal.a > $@
6711231a
AK
144 $(AR) rs $@ $(OBJECTS) lvmcmdlib.o lvm2cmd.o
145
db8b5af9
AK
146liblvm2cmd-static.a: $(top_builddir)/lib/liblvm-internal.a $(OBJECTS) lvmcmdlib.o lvm2cmd-static.o
147 cat $(top_builddir)/lib/liblvm-internal.a > $@
6711231a 148 $(AR) rs $@ $(OBJECTS) lvmcmdlib.o lvm2cmd-static.o
84510264 149
cee9a8d8 150liblvm2cmd.$(LIB_SUFFIX): liblvm2cmd.a $(LDDEPS)
3806ab6f 151 $(CC) -shared -Wl,-soname,$@.$(LIB_VERSION) \
78725dd1
ZK
152 $(CFLAGS) $(CLDFLAGS) -o $@ \
153 @CLDWHOLEARCHIVE@ liblvm2cmd.a @CLDNOWHOLEARCHIVE@ \
154 $(LVMLIBS) $(LIBS)
795ca3e5 155
23b059e7
ZK
156liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION): liblvm2cmd.$(LIB_SUFFIX)
157 $(LN_S) -f $< $@
158
c737d348 159.commands: $(srcdir)/commands.h $(srcdir)/cmdnames.h Makefile
db8b5af9 160 $(CC) -E -P $(srcdir)/cmdnames.h 2> /dev/null | \
e26c4fd2 161 egrep -v '^ *(|#.*|dumpconfig|formats|help|pvdata|segtypes|version) *$$' > .commands
795ca3e5 162
87d73a9b 163ifneq ("$(CFLOW_CMD)", "")
b41f5924
ZK
164CFLOW_SOURCES = $(addprefix $(srcdir)/, $(SOURCES))
165-include $(top_builddir)/libdm/libdevmapper.cflow
166-include $(top_builddir)/lib/liblvm-internal.cflow
8a2fc586
AK
167endif
168
23b059e7 169.PHONY: install_cmdlib_dynamic install_cmdlib_static install_cmdlib_include \
b7be589e
ZK
170 install_tools_dynamic install_tools_static \
171 install_dmsetup_dynamic install_dmsetup_static
172
23b059e7
ZK
173install_cmdlib_include: $(srcdir)/lvm2cmd.h
174 $(INSTALL_DATA) -D $< $(includedir)/$(<F)
175
cee9a8d8 176install_cmdlib_dynamic: liblvm2cmd.$(LIB_SUFFIX)
23b059e7 177 $(INSTALL_PROGRAM) -D $< $(libdir)/$(<F).$(LIB_VERSION)
0337d991 178 $(INSTALL_DIR) $(usrlibdir)
5227ae53 179 $(LN_S) -f $(USRLIB_RELPATH)$(<F).$(LIB_VERSION) $(usrlibdir)/$(<F)
84510264 180
6711231a 181install_cmdlib_static: liblvm2cmd-static.a
23b059e7 182 $(INSTALL_DATA) -D $< $(usrlibdir)/liblvm2cmd.a
c5ff6dfa
AK
183
184install_tools_dynamic: lvm .commands
23b059e7 185 $(INSTALL_PROGRAM) -D lvm $(sbindir)/lvm
470933a4 186 @echo Creating symbolic links for individual commands in $(sbindir)
23b059e7
ZK
187 @for v in `cat .commands`; do \
188 echo "$(LN_S) -f lvm $(sbindir)/$$v"; \
189 $(LN_S) -f lvm $(sbindir)/$$v; \
190 done;
795ca3e5 191
c5ff6dfa 192install_tools_static: lvm.static
23b059e7 193 $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F)
c5ff6dfa 194
77b69aa7 195install_dmsetup_dynamic: dmsetup
23b059e7 196 $(INSTALL_PROGRAM) -D $< $(sbindir)/$(<F)
77b69aa7
AK
197
198install_dmsetup_static: dmsetup.static
23b059e7 199 $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F)
77b69aa7
AK
200
201install_device-mapper: $(INSTALL_DMSETUP_TARGETS)
202
0b502933
MB
203install_lvm2: $(INSTALL_LVM_TARGETS)
204
205install: install_lvm2 install_device-mapper
This page took 0.112294 seconds and 5 git commands to generate.