]>
Commit | Line | Data |
---|---|---|
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 | |
15 | srcdir = @srcdir@ | |
16 | top_srcdir = @top_srcdir@ | |
db8b5af9 | 17 | top_builddir = @top_builddir@ |
795ca3e5 | 18 | |
c5ff6dfa | 19 | SOURCES =\ |
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 | 65 | SOURCES2 =\ |
b7be589e ZK |
66 | dmsetup.c \ |
67 | lvm.c \ | |
68 | lvm2cmd-static.c \ | |
69 | lvm2cmd.c \ | |
70 | lvmcmdlib.c | |
3649fa9e | 71 | |
c5ff6dfa | 72 | TARGETS =\ |
a03f2320 | 73 | .commands \ |
b7be589e | 74 | liblvm2cmd.a \ |
795ca3e5 AK |
75 | lvm |
76 | ||
19363a13 MB |
77 | TARGETS_DM = dmsetup |
78 | ||
77b69aa7 AK |
79 | INSTALL_LVM_TARGETS = install_tools_dynamic |
80 | INSTALL_DMSETUP_TARGETS = install_dmsetup_dynamic | |
23b059e7 | 81 | INSTALL_CMDLIB_TARGETS = install_cmdlib_dynamic install_cmdlib_include |
199e490e | 82 | |
c5ff6dfa | 83 | ifeq ("@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 |
89 | endif | |
90 | ||
f0f0b802 | 91 | LVMLIBS = $(LVMINTERNAL_LIBS) |
4b896598 | 92 | LIB_VERSION = $(LIB_VERSION_LVM) |
84510264 | 93 | |
b7be589e | 94 | CLEAN_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 | |
98 | ifeq ("@CMDLIB@", "yes") | |
23b059e7 | 99 | TARGETS += liblvm2cmd.$(LIB_SUFFIX).$(LIB_VERSION) |
77b69aa7 | 100 | INSTALL_LVM_TARGETS += $(INSTALL_CMDLIB_TARGETS) |
84510264 AK |
101 | endif |
102 | ||
e6493477 | 103 | ifeq ("@DMEVENTD@", "yes") |
f30875db | 104 | LVMLIBS += -ldevmapper-event |
199e490e AK |
105 | endif |
106 | ||
2293567c | 107 | LVMLIBS += -ldevmapper |
15d91f5a | 108 | |
e6f716f5 AK |
109 | EXPORTED_HEADER = $(srcdir)/lvm2cmd.h |
110 | EXPORTED_FN_PREFIX = lvm2 | |
111 | ||
8a2fc586 | 112 | DEFS += -DLVM_SHARED_PATH=\"$(exec_prefix)/sbin/lvm\" |
8e3a97ba | 113 | |
b41f5924 ZK |
114 | CFLOW_LIST = lvmcmdlib.c lvm2cmd.c |
115 | CFLOW_LIST_TARGET = liblvm2cmd.cflow | |
116 | CFLOW_TARGET = lvm | |
117 | ||
814aebc4 | 118 | include $(top_builddir)/make.tmpl |
795ca3e5 | 119 | |
db724a44 ZK |
120 | LIBS += $(UDEV_LIBS) |
121 | ||
19363a13 | 122 | device-mapper: $(TARGETS_DM) |
0782ad50 | 123 | |
db8b5af9 | 124 | dmsetup: 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 |
128 | dmsetup.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 | |
132 | all: device-mapper | |
133 | ||
db8b5af9 | 134 | lvm: $(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 |
138 | lvm.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 |
142 | liblvm2cmd.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 |
146 | liblvm2cmd-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 | 150 | liblvm2cmd.$(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 |
156 | liblvm2cmd.$(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 | 163 | ifneq ("$(CFLOW_CMD)", "") |
b41f5924 ZK |
164 | CFLOW_SOURCES = $(addprefix $(srcdir)/, $(SOURCES)) |
165 | -include $(top_builddir)/libdm/libdevmapper.cflow | |
166 | -include $(top_builddir)/lib/liblvm-internal.cflow | |
8a2fc586 AK |
167 | endif |
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 |
173 | install_cmdlib_include: $(srcdir)/lvm2cmd.h |
174 | $(INSTALL_DATA) -D $< $(includedir)/$(<F) | |
175 | ||
cee9a8d8 | 176 | install_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 | 181 | install_cmdlib_static: liblvm2cmd-static.a |
23b059e7 | 182 | $(INSTALL_DATA) -D $< $(usrlibdir)/liblvm2cmd.a |
c5ff6dfa AK |
183 | |
184 | install_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 | 192 | install_tools_static: lvm.static |
23b059e7 | 193 | $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F) |
c5ff6dfa | 194 | |
77b69aa7 | 195 | install_dmsetup_dynamic: dmsetup |
23b059e7 | 196 | $(INSTALL_PROGRAM) -D $< $(sbindir)/$(<F) |
77b69aa7 AK |
197 | |
198 | install_dmsetup_static: dmsetup.static | |
23b059e7 | 199 | $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F) |
77b69aa7 AK |
200 | |
201 | install_device-mapper: $(INSTALL_DMSETUP_TARGETS) | |
202 | ||
0b502933 MB |
203 | install_lvm2: $(INSTALL_LVM_TARGETS) |
204 | ||
205 | install: install_lvm2 install_device-mapper |