summaryrefslogtreecommitdiff
path: root/libdm/dm-tools/Makefile.in
blob: 78d2d719d7a9527e40d51ff361f83442093f4867 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
#
# Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
# Copyright (C) 2004-2018 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

srcdir = @srcdir@
top_srcdir = @top_srcdir@
top_builddir = @top_builddir@

all: device-mapper

SOURCES2 = dmsetup.c
TARGETS_DM = dmsetup

CFLOW_SOURCES = $(addprefix $(srcdir)/, $(SOURCES2))
CFLOW_TARGET := $(TARGETS_DM)
-include $(top_builddir)/libdm/libdevmapper.cflow

install_device-mapper: install_dmsetup_dynamic

ifeq ("@STATIC_LINK@", "yes")
  TARGETS_DM += dmsetup.static
  install_device-mapper: install_dmsetup_static
endif

# dmfilemapd support
ifeq ("@BUILD_DMFILEMAPD@", "yes")
  SOURCES2 += dmfilemapd.c
  TARGETS_DM += dmfilemapd
  install_dmfilemapd: install_dmfilemapd_dynamic

  ifeq ("@STATIC_LINK@", "yes")
    TARGETS_DM += dmfilemapd.static
    install_dmfilemapd: install_dmfilemapd_static
  endif
endif

CLEAN_TARGETS = $(LDDEPS) .exported_symbols_generated \
	dmfilemapd dmfilemapd.static \
	dmsetup dmsetup.static

include $(top_builddir)/libdm/make.tmpl

CFLAGS_dmsetup.o += $(UDEV_CFLAGS) $(EXTRA_EXEC_CFLAGS)
CFLAGS_dmfilemapd.o += $(EXTRA_EXEC_CFLAGS)
LIBDM_LIBS = -L$(interfacebuilddir) -ldevmapper
LIBDM_SHARED = $(interfacebuilddir)/libdevmapper.so
LIBDM_STATIC = $(interfacebuilddir)/libdevmapper.a

dmsetup: dmsetup.o $(LIBDM_SHARED)
	@echo "    [CC] $@"
	$(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) \
	      -o $@ $< $(LIBDM_LIBS) $(LIBS)

dmsetup.static: dmsetup.o $(LIBDM_STATIC)
	@echo "    [CC] $@"
	$(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static \
	      -o $@ $< $(LIBDM_LIBS) $(LIBS) $(STATIC_LIBS)

install_dmsetup_dynamic: dmsetup
	@echo "    [INSTALL] $<"
	$(Q) $(INSTALL_PROGRAM) -D $< $(sbindir)/$(<F)
	$(Q) $(LN_S) -f $(<F) $(sbindir)/dmstats

install_dmsetup_static: dmsetup.static
	@echo "    [INSTALL] $<"
	$(Q) $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F)
	$(Q) $(LN_S) -f $(<F) $(staticdir)/dmstats.static


dmfilemapd: dmfilemapd.o $(LIBDM_SHARED)
	@echo "    [CC] $@"
	$(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(EXTRA_EXEC_LDFLAGS) $(ELDFLAGS) \
	      -o $@ $< $(LIBDM_LIBS) $(LIBS)

dmfilemapd.static: dmfilemapd.o $(LIBDM_STATIC)
	@echo "    [CC] $@"
	$(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(STATIC_LDFLAGS) -static \
	      -o $@ $< $(LIBDM_LIBS) $(LIBS) $(STATIC_LIBS)

install_dmfilemapd_dynamic: dmfilemapd
	@echo "    [INSTALL] $<"
	$(Q) $(INSTALL_PROGRAM) -D $< $(sbindir)/$(<F)

install_dmfilemapd_static: dmfilemapd.static
	@echo "    [INSTALL] $<"
	$(Q) $(INSTALL_PROGRAM) -D $< $(staticdir)/$(<F)


.PHONY: install_dmsetup_dynamic install_dmsetup_static
.PHONY: install_dmfilemapd install_dmfilemapd_static

install: install_device-mapper install_dmfilemapd

device-mapper: $(TARGETS_DM)