]>
Commit | Line | Data |
---|---|---|
795ca3e5 AK |
1 | # @configure_input@ |
2 | # | |
6606c3ae | 3 | # Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved. |
a532faa7 | 4 | # Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved. |
795ca3e5 | 5 | # |
7f8f8bfa | 6 | # This file is part of LVM2. |
795ca3e5 | 7 | # |
6606c3ae AK |
8 | # This copyrighted material is made available to anyone wishing to use, |
9 | # modify, copy, or redistribute it subject to the terms and conditions | |
10 | # of the GNU General Public License v.2. | |
795ca3e5 | 11 | # |
6606c3ae AK |
12 | # You should have received a copy of the GNU General Public License |
13 | # along with this program; if not, write to the Free Software Foundation, | |
14 | # Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
795ca3e5 AK |
15 | |
16 | SHELL = /bin/sh | |
17 | ||
18 | @SET_MAKE@ | |
19 | ||
f42b2d4b | 20 | CC ?= @CC@ |
795ca3e5 | 21 | RANLIB = @RANLIB@ |
795ca3e5 | 22 | INSTALL = @INSTALL@ |
5556819a | 23 | MKDIR_P = @MKDIR_P@ |
69792976 | 24 | MSGFMT = @MSGFMT@ |
5556819a AK |
25 | LCOV = @LCOV@ |
26 | GENHTML = @GENHTML@ | |
795ca3e5 | 27 | LN_S = @LN_S@ |
5951ef33 | 28 | SED = @SED@ |
87d73a9b | 29 | CFLOW_CMD = @CFLOW_CMD@ |
aaa2e046 | 30 | AWK = @AWK@ |
5951ef33 | 31 | |
5f68d858 | 32 | LIBS = @LIBS@ |
f8f6ec92 | 33 | # Extra libraries always linked with static binaries |
db724a44 | 34 | STATIC_LIBS = $(SELINUX_LIBS) $(UDEV_LIBS) |
72b2cb61 | 35 | DEFS += @DEFS@ |
e8fad838 | 36 | CFLAGS += @CFLAGS@ |
84510264 | 37 | CLDFLAGS += @CLDFLAGS@ |
bf09a320 | 38 | ELDFLAGS += @ELDFLAGS@ |
80992638 AK |
39 | LDDEPS += @LDDEPS@ |
40 | LDFLAGS += @LDFLAGS@ | |
e4c11ad1 | 41 | LIB_SUFFIX = @LIB_SUFFIX@ |
7126d8c2 | 42 | LVMINTERNAL_LIBS = -llvm-internal $(DAEMON_LIBS) $(UDEV_LIBS) $(DL_LIBS) |
19a2c6e0 | 43 | DL_LIBS = @DL_LIBS@ |
f30875db | 44 | PTHREAD_LIBS = @PTHREAD_LIBS@ |
539f4a77 | 45 | READLINE_LIBS = @READLINE_LIBS@ |
f8f6ec92 | 46 | SELINUX_LIBS = @SELINUX_LIBS@ |
db724a44 | 47 | UDEV_LIBS = @UDEV_LIBS@ |
1033d120 | 48 | TESTING = @TESTING@ |
795ca3e5 AK |
49 | |
50 | # Setup directory variables | |
639c84c1 AK |
51 | prefix = @prefix@ |
52 | exec_prefix = @exec_prefix@ | |
5d518f1f | 53 | udev_prefix = @udev_prefix@ |
4417a8bd | 54 | sysconfdir = @sysconfdir@ |
639c84c1 | 55 | bindir = $(DESTDIR)@bindir@ |
4a7f3eb2 | 56 | confdir = $(DESTDIR)@CONFDIR@/lvm |
84510264 | 57 | includedir = $(DESTDIR)@includedir@ |
639c84c1 | 58 | libdir = $(DESTDIR)@libdir@ |
68f2de6d | 59 | usrlibdir = $(DESTDIR)@usrlibdir@ |
639c84c1 | 60 | sbindir = $(DESTDIR)@sbindir@ |
68f2de6d | 61 | usrsbindir = $(DESTDIR)@usrsbindir@ |
bf75c304 AK |
62 | datarootdir = @datarootdir@ |
63 | infodir = $(DESTDIR)@infodir@ | |
64 | mandir = $(DESTDIR)@mandir@ | |
639c84c1 | 65 | localedir = $(DESTDIR)@LOCALEDIR@ |
0a62c911 | 66 | staticdir = $(DESTDIR)@STATICDIR@ |
5d518f1f | 67 | udevdir = $(DESTDIR)@udevdir@ |
fff111fe | 68 | pkgconfigdir = $(usrlibdir)/pkgconfig |
4417a8bd | 69 | initdir = $(DESTDIR)$(sysconfdir)/rc.d/init.d |
a693b8d2 | 70 | systemd_dir = $(DESTDIR)@systemdsystemunitdir@ |
4417a8bd | 71 | tmpfiles_dir = $(DESTDIR)@tmpfilesdir@ |
349da06c | 72 | ocf_scriptdir = $(DESTDIR)@OCFDIR@ |
afcae066 | 73 | |
5227ae53 | 74 | USRLIB_RELPATH = $(shell echo $(abspath $(usrlibdir) $(libdir)) | \ |
aaa2e046 | 75 | $(AWK) -f $(top_srcdir)/scripts/relpath.awk) |
795ca3e5 | 76 | |
3399ae32 AK |
77 | DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@ |
78 | DEFAULT_ARCHIVE_DIR = $(DEFAULT_SYS_DIR)/@DEFAULT_ARCHIVE_SUBDIR@ | |
79 | DEFAULT_BACKUP_DIR = $(DEFAULT_SYS_DIR)/@DEFAULT_BACKUP_SUBDIR@ | |
80 | DEFAULT_CACHE_DIR = $(DEFAULT_SYS_DIR)/@DEFAULT_CACHE_SUBDIR@ | |
81 | DEFAULT_LOCK_DIR = @DEFAULT_LOCK_DIR@ | |
1fad9a68 | 82 | DEFAULT_RUN_DIR = @DEFAULT_RUN_DIR@ |
3399ae32 | 83 | |
c737d348 ZK |
84 | # Setup vpath search paths for some suffixes |
85 | vpath %.c $(srcdir) | |
86 | vpath %.in $(srcdir) | |
87 | vpath %.po $(srcdir) | |
88 | vpath %.exported_symbols $(srcdir) | |
89 | ||
2c44337b | 90 | interface = @interface@ |
f7729ec6 | 91 | interfacebuilddir = $(top_builddir)/libdm/$(interface) |
2c44337b | 92 | |
795ca3e5 AK |
93 | # The number of jobs to run, if blank, defaults to the make standard |
94 | ifndef MAKEFLAGS | |
95 | MAKEFLAGS = @JOBS@ | |
96 | endif | |
97 | ||
23b059e7 ZK |
98 | # Handle installation of files |
99 | ifeq ("@WRITE_INSTALL@", "yes") | |
100 | # leaving defaults | |
3e730d47 | 101 | M_INSTALL_SCRIPT = |
23b059e7 ZK |
102 | M_INSTALL_DATA = -m 644 |
103 | else | |
104 | M_INSTALL_PROGRAM = -m 555 | |
105 | M_INSTALL_DATA = -m 444 | |
106 | endif | |
107 | INSTALL_PROGRAM = $(INSTALL) $(M_INSTALL_PROGRAM) $(STRIP) | |
108 | INSTALL_DATA = $(INSTALL) -p $(M_INSTALL_DATA) | |
109 | INSTALL_WDATA = $(INSTALL) -p -m 644 | |
110 | ||
a532faa7 ZK |
111 | INSTALL_DIR = $(INSTALL) -m 755 -d |
112 | INSTALL_ROOT_DIR = $(INSTALL) -m 700 -d | |
113 | INSTALL_ROOT_DATA = $(INSTALL) -m 600 | |
85409909 | 114 | INSTALL_SCRIPT = $(INSTALL) -p $(M_INSTALL_PROGRAM) |
3399ae32 | 115 | |
8a2fc586 | 116 | .SUFFIXES: .c .d .o .so .a .po .pot .mo .dylib |
795ca3e5 | 117 | |
4b795cc3 ZK |
118 | WFLAGS += -Wall -Wundef -Wshadow -Wcast-align -Wwrite-strings \ |
119 | -Wmissing-prototypes -Wmissing-declarations -Wnested-externs \ | |
120 | -Winline -Wmissing-noreturn -Wformat-security -Wredundant-decls \ | |
121 | -Wpointer-arith | |
03a8a07d | 122 | |
4b795cc3 ZK |
123 | #WFLAGS += -W -Wconversion -Wbad-function-cast -Wcast-qual |
124 | #WFLAGS += -pedantic -std=gnu99 | |
125 | #DEFS += -DDEBUG_CRC32 | |
8ef2b021 | 126 | |
4b795cc3 | 127 | CFLAGS += -fPIC @COPTIMISE_FLAG@ |
d6a05ea5 | 128 | LDFLAGS += @COPTIMISE_FLAG@ |
8ce0cbda | 129 | |
8ef2b021 | 130 | ifeq ("@DEBUG@", "yes") |
8a2fc586 AK |
131 | CFLAGS += -g -fno-omit-frame-pointer |
132 | DEFS += -DDEBUG | |
81d19574 MB |
133 | # memory debugging is not thread-safe yet |
134 | ifneq ("@DMEVENTD@", "yes") | |
135 | DEFS += -DDEBUG_MEM | |
136 | endif | |
8ef2b021 | 137 | endif |
03a8a07d | 138 | |
69792976 | 139 | ifeq ("@INTL@", "yes") |
8a2fc586 | 140 | DEFS += -DINTL_PACKAGE=\"@INTL_PACKAGE@\" -DLOCALEDIR=\"@LOCALEDIR@\" |
69792976 AK |
141 | endif |
142 | ||
db8b5af9 AK |
143 | LDFLAGS += -L$(top_builddir)/libdm -L$(top_builddir)/lib |
144 | CLDFLAGS += -L$(top_builddir)/libdm -L$(top_builddir)/lib | |
03a8a07d | 145 | |
7126d8c2 AK |
146 | ifeq ("@BUILD_LVMETAD@", "yes") |
147 | DAEMON_LIBS = -ldaemonclient | |
148 | LDFLAGS += -L$(top_builddir)/libdaemon/client | |
149 | CLDFLAGS += -L$(top_builddir)/libdaemon/client | |
150 | endif | |
151 | ||
a479de2e | 152 | ifeq ("@DMEVENTD@", "yes") |
db8b5af9 AK |
153 | LDFLAGS += -L$(top_builddir)/daemons/dmeventd |
154 | CLDFLAGS += -L$(top_builddir)/daemons/dmeventd | |
a479de2e AK |
155 | endif |
156 | ||
e50d0e97 AK |
157 | ifeq ("@DM_COMPAT@", "yes") |
158 | DEFS += -DDM_COMPAT | |
159 | endif | |
160 | ||
161 | ifeq ("@DM_IOCTLS@", "yes") | |
162 | DEFS += -DDM_IOCTLS | |
163 | endif | |
164 | ||
ed463ccf | 165 | # Combination of DEBUG_POOL and DEBUG_ENFORCE_POOL_LOCKING is not suppored. |
8a2fc586 | 166 | #DEFS += -DDEBUG_POOL |
ed463ccf ZK |
167 | # Default pool locking is using the crc checksum. With mprotect memory |
168 | # enforcing compilation faulty memory write could be easily found. | |
169 | #DEFS += -DDEBUG_ENFORCE_POOL_LOCKING | |
8a2fc586 | 170 | #DEFS += -DBOUNDS_CHECK |
84510264 AK |
171 | |
172 | #CFLAGS += -pg | |
80992638 | 173 | #LDFLAGS += -pg |
84510264 AK |
174 | |
175 | STRIP= | |
176 | #STRIP = -s | |
8ef2b021 | 177 | |
5951ef33 AK |
178 | LVM_VERSION := $(shell cat $(top_srcdir)/VERSION) |
179 | ||
047f82ee | 180 | LIB_VERSION_LVM := $(shell $(AWK) -F '.' '{printf "%s.%s",$$1,$$2}' $(top_srcdir)/VERSION) |
2c44337b | 181 | |
047f82ee | 182 | LIB_VERSION_DM := $(shell $(AWK) -F '.' '{printf "%s.%s",$$1,$$2}' $(top_srcdir)/VERSION_DM) |
5a52dca9 | 183 | |
047f82ee | 184 | LIB_VERSION_APP := $(shell $(AWK) -F '[(). ]' '{printf "%s.%s",$$1,$$4}' $(top_srcdir)/VERSION) |
bf456146 | 185 | |
db8b5af9 | 186 | INCLUDES += -I. -I$(top_builddir)/include |
795ca3e5 | 187 | |
db8b5af9 | 188 | INC_LNS = $(top_builddir)/include/.symlinks_created |
a03f2320 | 189 | |
db8b5af9 AK |
190 | DEPS = $(top_builddir)/make.tmpl $(top_srcdir)/VERSION \ |
191 | $(top_builddir)/Makefile $(INC_LNS) | |
14c61d2d | 192 | |
84510264 AK |
193 | OBJECTS = $(SOURCES:%.c=%.o) |
194 | POTFILES = $(SOURCES:%.c=%.pot) | |
795ca3e5 | 195 | |
7cbd4a74 | 196 | .PHONY: all pofile distclean clean cleandir cflow device-mapper |
6bbbcf42 | 197 | .PHONY: verity install_verity $(SUBDIRS.install_verity) |
7cbd4a74 | 198 | .PHONY: install install_cluster install_device-mapper install_lvm2 |
180b3dea | 199 | .PHONY: install_lib_shared install_dm_plugin install_lvm2_plugin |
e40d44be | 200 | .PHONY: install_ocf |
cab8ea7c | 201 | .PHONY: $(SUBDIRS) $(SUBDIRS.install) $(SUBDIRS.clean) $(SUBDIRS.distclean) |
8a2fc586 | 202 | .PHONY: $(SUBDIRS.pofile) $(SUBDIRS.install_cluster) $(SUBDIRS.cflow) |
0782ad50 | 203 | .PHONY: $(SUBDIRS.device-mapper) $(SUBDIRS.install-device-mapper) |
cab8ea7c | 204 | |
0782ad50 | 205 | SUBDIRS.device-mapper := $(SUBDIRS:=.device-mapper) |
795ca3e5 | 206 | SUBDIRS.install := $(SUBDIRS:=.install) |
cab8ea7c | 207 | SUBDIRS.install_cluster := $(SUBDIRS:=.install_cluster) |
0782ad50 | 208 | SUBDIRS.install_device-mapper := $(SUBDIRS:=.install_device-mapper) |
0b502933 | 209 | SUBDIRS.install_lvm2 := $(SUBDIRS:=.install_lvm2) |
e40d44be | 210 | SUBDIRS.install_ocf := $(SUBDIRS:=.install_ocf) |
6bbbcf42 | 211 | SUBDIRS.install_verity := $(SUBDIRS:=.install_verity) |
69792976 | 212 | SUBDIRS.pofile := $(SUBDIRS:=.pofile) |
8a2fc586 | 213 | SUBDIRS.cflow := $(SUBDIRS:=.cflow) |
795ca3e5 AK |
214 | SUBDIRS.clean := $(SUBDIRS:=.clean) |
215 | SUBDIRS.distclean := $(SUBDIRS:=.distclean) | |
216 | ||
23b059e7 | 217 | TARGETS += $(LIB_SHARED) $(LIB_STATIC) |
d68a82ec | 218 | |
795ca3e5 AK |
219 | all: $(SUBDIRS) $(TARGETS) |
220 | ||
221 | install: all $(SUBDIRS.install) | |
cab8ea7c | 222 | install_cluster: all $(SUBDIRS.install_cluster) |
0782ad50 | 223 | install_device-mapper: $(SUBDIRS.install_device-mapper) |
0b502933 | 224 | install_lvm2: $(SUBDIRS.install_lvm2) |
e40d44be | 225 | install_ocf: $(SUBDIRS.install_ocf) |
b41f5924 | 226 | cflow: $(SUBDIRS.cflow) |
795ca3e5 | 227 | |
bef749c9 | 228 | $(SUBDIRS): $(SUBDIRS.device-mapper) |
795ca3e5 AK |
229 | $(MAKE) -C $@ |
230 | ||
0782ad50 AK |
231 | $(SUBDIRS.device-mapper): |
232 | $(MAKE) -C $(@:.device-mapper=) device-mapper | |
233 | ||
3ba1348c | 234 | $(SUBDIRS.install): $(SUBDIRS) |
795ca3e5 AK |
235 | $(MAKE) -C $(@:.install=) install |
236 | ||
cab8ea7c AK |
237 | $(SUBDIRS.install_cluster): $(SUBDIRS) |
238 | $(MAKE) -C $(@:.install_cluster=) install_cluster | |
239 | ||
77b69aa7 | 240 | $(SUBDIRS.install_device-mapper): device-mapper |
0782ad50 AK |
241 | $(MAKE) -C $(@:.install_device-mapper=) install_device-mapper |
242 | ||
0b502933 MB |
243 | $(SUBDIRS.install_lvm2): $(SUBDIRS) |
244 | $(MAKE) -C $(@:.install_lvm2=) install_lvm2 | |
245 | ||
e40d44be ZK |
246 | $(SUBDIRS.install_ocf): |
247 | $(MAKE) -C $(@:.install_ocf=) install_ocf | |
248 | ||
795ca3e5 | 249 | $(SUBDIRS.clean): |
5a52dca9 | 250 | -$(MAKE) -C $(@:.clean=) clean |
795ca3e5 AK |
251 | |
252 | $(SUBDIRS.distclean): | |
5a52dca9 | 253 | -$(MAKE) -C $(@:.distclean=) distclean |
795ca3e5 | 254 | |
b41f5924 ZK |
255 | $(SUBDIRS.cflow): |
256 | $(MAKE) -C $(@:.cflow=) cflow | |
257 | ||
69792976 AK |
258 | ifeq ("@INTL@", "yes") |
259 | pofile: $(SUBDIRS.pofile) $(POTFILES) | |
260 | ||
261 | $(SUBDIRS.pofile): | |
262 | $(MAKE) -C $(@:.pofile=) pofile | |
263 | endif | |
264 | ||
b41f5924 ZK |
265 | ifneq ("$(CFLOW_LIST_TARGET)", "") |
266 | CLEAN_CFLOW += $(CFLOW_LIST_TARGET) | |
267 | $(CFLOW_LIST_TARGET): $(CFLOW_LIST) | |
268 | echo "CFLOW_SOURCES += $(addprefix \ | |
269 | \$$(top_srcdir)$(subst $(top_srcdir),,$(srcdir))/, $(CFLOW_LIST))" > $@ | |
270 | cflow: $(CFLOW_LIST_TARGET) | |
271 | endif | |
8a2fc586 | 272 | |
b41f5924 ZK |
273 | ifneq ("$(CFLOW_TARGET)", "") |
274 | CLEAN_CFLOW += \ | |
275 | $(CFLOW_TARGET).cflow \ | |
276 | $(CFLOW_TARGET).xref \ | |
277 | $(CFLOW_TARGET).tree \ | |
278 | $(CFLOW_TARGET).rtree \ | |
279 | $(CFLOW_TARGET).rxref | |
280 | ||
281 | ifneq ("$(CFLOW_CMD)", "") | |
282 | CFLOW_FLAGS +=\ | |
283 | --cpp="$(CC) -E" \ | |
284 | --symbol _ISbit:wrapper \ | |
285 | --symbol __attribute__:wrapper \ | |
286 | --symbol __const__:wrapper \ | |
287 | --symbol __const:type \ | |
288 | --symbol __restrict:type \ | |
289 | --symbol __extension__:wrapper \ | |
290 | --symbol __nonnull:wrapper \ | |
291 | --symbol __nothrow__:wrapper \ | |
292 | --symbol __pure__:wrapper \ | |
293 | --symbol __REDIRECT:wrapper \ | |
294 | --symbol __REDIRECT_NTH:wrapper \ | |
295 | --symbol __wur:wrapper \ | |
296 | -I$(top_srcdir)/libdm \ | |
297 | -I$(top_srcdir)/libdm/ioctl \ | |
298 | -I$(top_srcdir)/daemons/dmeventd/plugins/lvm2/ \ | |
299 | $(INCLUDES) $(DEFS) | |
300 | ||
301 | $(CFLOW_TARGET).cflow: $(CFLOW_SOURCES) | |
302 | $(CFLOW_CMD) -o$@ $(CFLOW_FLAGS) $(CFLOW_SOURCES) | |
303 | $(CFLOW_TARGET).rxref: $(CFLOW_SOURCES) | |
304 | $(CFLOW_CMD) -o$@ $(CFLOW_FLAGS) -r --omit-arguments $(CFLOW_SOURCES) | |
305 | $(CFLOW_TARGET).tree: $(CFLOW_SOURCES) | |
306 | $(CFLOW_CMD) -o$@ $(CFLOW_FLAGS) --omit-arguments -T -b $(CFLOW_SOURCES) | |
307 | $(CFLOW_TARGET).xref: $(CFLOW_SOURCES) | |
308 | $(CFLOW_CMD) -o$@ $(CFLOW_FLAGS) --omit-arguments -x $(CFLOW_SOURCES) | |
309 | #$(CFLOW_TARGET).rtree: $(CFLOW_SOURCES) | |
310 | # $(CFLOW_CMD) -o$@ $(CFLOW_FLAGS) -r --omit-arguments -T -b $(CFLOW_SOURCES) | |
311 | cflow: $(CFLOW_TARGET).cflow $(CFLOW_TARGET).tree $(CFLOW_TARGET).rxref $(CFLOW_TARGET).xref | |
312 | #$(CFLOW_TARGET).rtree | |
313 | endif | |
8a2fc586 AK |
314 | endif |
315 | ||
84510264 AK |
316 | $(TARGETS): $(OBJECTS) |
317 | ||
795ca3e5 | 318 | %.o: %.c |
4b795cc3 | 319 | $(CC) -c $(INCLUDES) $(DEFS) $(WFLAGS) $(CFLAGS) $< -o $@ |
795ca3e5 | 320 | |
c5ff6dfa | 321 | %.pot: %.c Makefile |
25fbec5b | 322 | $(CC) -E $(INCLUDES) -include $(top_srcdir)/include/pogen.h \ |
4b795cc3 | 323 | $(DEFS) $(WFLAGS) $(CFLAGS) $< > $@ |
69792976 | 324 | |
5a52dca9 | 325 | %.so: %.o |
4b795cc3 | 326 | $(CC) -c $(CFLAGS) $(CLDFLAGS) $< $(LIBS) -o $@ |
5a52dca9 | 327 | |
23b059e7 ZK |
328 | ifneq (,$(LIB_SHARED)) |
329 | ||
330 | TARGETS += $(LIB_SHARED).$(LIB_VERSION) | |
331 | $(LIB_SHARED).$(LIB_VERSION): $(OBJECTS) $(LDDEPS) | |
e4c11ad1 | 332 | ifeq ("@LIB_SUFFIX@","so") |
23b059e7 ZK |
333 | $(CC) -shared -Wl,-soname,$(notdir $@) \ |
334 | $(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@ | |
e4c11ad1 | 335 | endif |
e4c11ad1 | 336 | ifeq ("@LIB_SUFFIX@","dylib") |
e4c11ad1 | 337 | $(CC) -dynamiclib -dylib_current_version,$(LIB_VERSION) \ |
23b059e7 ZK |
338 | $(CFLAGS) $(CLDFLAGS) $(OBJECTS) $(LIBS) -o $@ |
339 | endif | |
340 | ||
341 | $(LIB_SHARED): $(LIB_SHARED).$(LIB_VERSION) | |
342 | $(LN_S) -f $(<F) $@ | |
343 | ||
344 | install_lib_shared: $(LIB_SHARED) | |
345 | $(INSTALL_PROGRAM) -D $< $(libdir)/$(<F).$(LIB_VERSION) | |
0337d991 | 346 | $(INSTALL_DIR) $(usrlibdir) |
5227ae53 | 347 | $(LN_S) -f $(USRLIB_RELPATH)$(<F).$(LIB_VERSION) $(usrlibdir)/$(<F) |
23b059e7 | 348 | |
180b3dea ZK |
349 | # FIXME: plugins are installed to subdirs |
350 | # and for compatibility links in libdir are created | |
351 | # when the code is fixed links could be removed. | |
352 | install_dm_plugin: $(LIB_SHARED) | |
353 | $(INSTALL_PROGRAM) -D $< $(libdir)/device-mapper/$(<F) | |
354 | $(LN_S) -f device-mapper/$(<F) $(libdir)/$(<F) | |
180b3dea ZK |
355 | |
356 | install_lvm2_plugin: $(LIB_SHARED) | |
357 | $(INSTALL_PROGRAM) -D $< $(libdir)/lvm2/$(<F) | |
358 | $(LN_S) -f lvm2/$(<F) $(libdir)/$(<F) | |
359 | $(LN_S) -f $(<F) $(libdir)/$(<F).$(LIB_VERSION) | |
e4c11ad1 | 360 | endif |
84510264 AK |
361 | |
362 | $(LIB_STATIC): $(OBJECTS) | |
363 | $(RM) $@ | |
364 | $(AR) rs $@ $(OBJECTS) | |
5a52dca9 | 365 | |
795ca3e5 | 366 | %.d: %.c |
db8b5af9 | 367 | $(MKDIR_P) $(dir $@); \ |
84510264 AK |
368 | set -e; \ |
369 | FILE=`echo $@ | sed 's/\\//\\\\\\//g;s/\\.d//g'`; \ | |
370 | DEPS=`echo $(DEPS) | sed -e 's/\\//\\\\\\//g'`; \ | |
4b795cc3 | 371 | $(CC) -MM $(INCLUDES) $(DEFS) -o $@ $<; \ |
db8b5af9 | 372 | sed -i "s/\(.*\)\.o[ :]*/$$FILE.o $$FILE.d $$FILE.pot: $$DEPS /g" $@; \ |
84510264 | 373 | [ -s $@ ] || $(RM) $@ |
795ca3e5 | 374 | |
69792976 AK |
375 | %.mo: %.po |
376 | $(MSGFMT) -o $@ $< | |
377 | ||
7cbd4a74 | 378 | cleandir: |
b7be589e | 379 | $(RM) $(OBJECTS) $(TARGETS) $(CLEAN_TARGETS) $(CLEAN_CFLOW) $(LDDEPS) \ |
7cbd4a74 | 380 | $(POTFILES) $(SOURCES:%.c=%.d) $(SOURCES:%.c=%.gcno) $(SOURCES:%.c=%.gcda) \ |
40dbaac8 | 381 | $(SOURCES2:%.c=%.o) $(SOURCES2:%.c=%.d) $(SOURCES2:%.c=%.gcno) $(SOURCES2:%.c=%.gcda) \ |
62675fdc | 382 | .exported_symbols_generated core |
795ca3e5 | 383 | |
7cbd4a74 ZK |
384 | clean: $(SUBDIRS.clean) cleandir |
385 | ||
386 | distclean: cleandir $(SUBDIRS.distclean) | |
e83968fa | 387 | test -z "$(DISTCLEAN_DIRS)" || $(RM) -r $(DISTCLEAN_DIRS) |
358fddb4 | 388 | $(RM) $(DISTCLEAN_TARGETS) Makefile |
84510264 | 389 | |
8b205571 AK |
390 | .exported_symbols_generated: $(EXPORTED_HEADER) .exported_symbols |
391 | set -e; \ | |
392 | ( cat $(srcdir)/.exported_symbols; \ | |
393 | if test x$(EXPORTED_HEADER) != x; then \ | |
4b795cc3 ZK |
394 | $(CC) -E -P $(INCLUDES) $(DEFS) $(EXPORTED_HEADER) | \ |
395 | $(SED) -ne "/^typedef|}/!s/.*[ \*]\(\$(EXPORTED_FN_PREFIX)_[a-z0-9_]*\)(.*/\1/p"; \ | |
8b205571 AK |
396 | fi \ |
397 | ) > $@ | |
398 | ||
399 | .export.sym: .exported_symbols_generated | |
aba2aca3 | 400 | set -e; (echo "Base {"; echo " global:"; \ |
84510264 AK |
401 | sed "s/^/ /;s/$$/;/" < $<; \ |
402 | echo " local:"; echo " *;"; echo "};") > $@ | |
795ca3e5 | 403 | |
04812472 | 404 | ifeq (,$(findstring $(MAKECMDGOALS),cscope.out cflow clean distclean lcov)) |
795ca3e5 AK |
405 | ifdef SOURCES |
406 | -include $(SOURCES:.c=.d) | |
407 | endif | |
3649fa9e PR |
408 | ifdef SOURCES2 |
409 | -include $(SOURCES2:.c=.d) | |
410 | endif | |
b41f5924 | 411 | endif |