1#
2# Copyright (C) 2005-2007 Red Hat, Inc. All rights reserved.
3#
4# This file is part of the device-mapper userspace tools.
5#
6# This copyrighted material is made available to anyone wishing to use,
7# modify, copy, or redistribute it subject to the terms and conditions
8# of the GNU Lesser General Public License v.2.1.
9#
10# You should have received a copy of the GNU Lesser General Public License
11# along with this program; if not, write to the Free Software Foundation,
12# Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
13
14srcdir = @srcdir@
15top_srcdir = @top_srcdir@
16top_builddir = @top_builddir@
17VPATH = @srcdir@
18
19SOURCES = libdevmapper-event.c
20TARGETS = dmeventd
21
22.PHONY: install_lib_dynamic install_lib_static install_include \
23	install_pkgconfig install_dmeventd_dynamic install_dmeventd_static \
24	install_lib install_dmeventd
25
26INSTALL_DMEVENTD_TARGETS = install_dmeventd_dynamic
27INSTALL_LIB_TARGETS = install_lib_dynamic
28
29ifeq ("@STATIC_LINK@", "yes")
30  LIB_STATIC = libdevmapper-event.a
31  TARGETS += dmeventd.static
32  INSTALL_DMEVENTD_TARGETS += install_dmeventd_static
33  INSTALL_LIB_TARGETS += install_lib_static
34endif
35
36LIB_VERSION = $(LIB_VERSION_DM)
37
38ifeq ("@LIB_SUFFIX@","dylib")
39  LIB_SHARED = libdevmapper-event.dylib
40else
41  LIB_SHARED = libdevmapper-event.so
42  VERSIONED_SHLIB = $(LIB_SHARED).$(LIB_VERSION)
43endif
44
45CLEAN_TARGETS = dmeventd.o dmeventd.static
46
47ifneq ($(MAKECMDGOALS),device-mapper)
48  SUBDIRS+=plugins
49endif
50
51include ../../make.tmpl
52
53all: device-mapper
54device-mapper: $(TARGETS)
55
56LIBS += -ldl
57LVMLIBS += -ldevmapper-event -lpthread -ldevmapper
58
59$(VERSIONED_SHLIB): $(LIB_SHARED)
60	$(RM) -f $@
61	$(LN_S) $(LIB_SHARED) $@
62
63dmeventd: $(LIB_SHARED) $(VERSIONED_SHLIB) dmeventd.o
64	$(CC) $(CFLAGS) $(LDFLAGS) -L. -o $@ dmeventd.o \
65	$(LVMLIBS) $(LIBS) -rdynamic
66
67dmeventd.static: $(LIB_STATIC) dmeventd.o $(interfacedir)/libdevmapper.a
68	$(CC) $(CFLAGS) $(LDFLAGS) -static -L. -L$(interfacedir) -o $@ \
69	dmeventd.o $(LVMLIBS) $(LIBS) -rdynamic
70
71ifeq ("@PKGCONFIG@", "yes")
72  INSTALL_LIB_TARGETS += install_pkgconfig
73endif
74
75install_include:
76	$(INSTALL) -D $(OWNER) $(GROUP) -m 444 $(srcdir)/libdevmapper-event.h \
77		$(includedir)/libdevmapper-event.h
78
79install_pkgconfig:
80	$(INSTALL) -D $(OWNER) $(GROUP) -m 444 libdevmapper-event.pc \
81		$(usrlibdir)/pkgconfig/devmapper-event.pc
82
83install_lib_dynamic: libdevmapper-event.$(LIB_SUFFIX)
84	$(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \
85		$(libdir)/libdevmapper-event.$(LIB_SUFFIX).$(LIB_VERSION)
86	$(LN_S) -f libdevmapper-event.$(LIB_SUFFIX).$(LIB_VERSION) \
87		$(libdir)/libdevmapper-event.$(LIB_SUFFIX)
88
89install_lib_static: libdevmapper-event.a
90	$(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< \
91		$(libdir)/libdevmapper-event.a.$(LIB_VERSION)
92	$(LN_S) -f libdevmapper-event.a.$(LIB_VERSION) $(libdir)/libdevmapper-event.a
93
94install_lib: $(INSTALL_LIB_TARGETS)
95
96install_dmeventd_dynamic: dmeventd
97	$(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< $(sbindir)/$<
98
99install_dmeventd_static: dmeventd.static
100	$(INSTALL) -D $(OWNER) $(GROUP) -m 555 $(STRIP) $< $(sbindir)/$<
101
102install_dmeventd: $(INSTALL_DMEVENTD_TARGETS)
103
104install: install_include install_lib install_dmeventd
105
106install_device-mapper: install_include install_lib install_dmeventd
107
108.PHONY: distclean_lib distclean
109
110distclean_lib:
111	$(RM) libdevmapper-event.pc
112
113distclean: distclean_lib
114
115