Imported Upstream version 0.8.9
[platform/upstream/multipath-tools.git] / multipathd / Makefile
1 include ../Makefile.inc
2
3 ifneq ($(call check_func,dm_task_get_errno,$(DEVMAPPER_INCDIR)/libdevmapper.h),0)
4         CFLAGS += -DLIBDM_API_GET_ERRNO
5 endif
6
7 ifneq ($(call check_var,ELS_DTAG_LNK_INTEGRITY,$(LINUX_HEADERS_INCDIR)/scsi/fc/fc_els.h),0)
8         CFLAGS += -DFPIN_EVENT_HANDLER
9         FPIN_SUPPORT = 1
10 endif
11 #
12 # debugging stuff
13 #
14 #CFLAGS += -DLCKDBG
15 #CFLAGS += -D_DEBUG_
16 #CFLAGS += -DLOGDBG
17 CFLAGS += $(BIN_CFLAGS) -I$(multipathdir) -I$(mpathpersistdir) \
18           -I$(mpathcmddir) -I$(thirdpartydir)
19 LDFLAGS += $(BIN_LDFLAGS)
20 LIBDEPS += -L$(multipathdir) -lmultipath -L$(mpathpersistdir) -lmpathpersist \
21            -L$(mpathcmddir) -lmpathcmd -ludev -ldl -lurcu -lpthread \
22            -ldevmapper -lreadline
23 CFLAGS += $(shell $(PKGCONFIG) --modversion liburcu 2>/dev/null | \
24         awk -F. '{ printf("-DURCU_VERSION=0x%06x", 256 * ( 256 * $$1 + $$2) + $$3); }')
25
26 ifdef SYSTEMD
27         CFLAGS += -DUSE_SYSTEMD=$(SYSTEMD)
28         ifeq ($(shell test $(SYSTEMD) -gt 209 && echo 1), 1)
29                 LIBDEPS += -lsystemd
30         else
31                 LIBDEPS += -lsystemd-daemon
32         endif
33 endif
34 ifeq ($(ENABLE_DMEVENTS_POLL),0)
35         CFLAGS += -DNO_DMEVENTS_POLL
36 endif
37
38 OBJS = main.o pidfile.o uxlsnr.o uxclnt.o cli.o cli_handlers.o waiter.o \
39        dmevents.o init_unwinder.o
40
41 ifeq ($(FPIN_SUPPORT),1)
42 OBJS += fpin_handlers.o
43 endif
44
45
46
47 EXEC = multipathd
48
49 all : $(EXEC)
50
51 $(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
52         $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(EXEC) $(LIBDEPS)
53
54 cli_handlers.o: cli_handlers.c
55         $(CC) $(CFLAGS) -Wno-unused-parameter -c -o $@ $<
56
57 install:
58         $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
59         $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)
60 ifdef SYSTEMD
61         $(INSTALL_PROGRAM) -d $(DESTDIR)$(unitdir)
62         $(INSTALL_PROGRAM) -m 644 $(EXEC).service $(DESTDIR)$(unitdir)
63         $(INSTALL_PROGRAM) -m 644 $(EXEC).socket $(DESTDIR)$(unitdir)
64 endif
65         $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
66         $(INSTALL_PROGRAM) -m 644 $(EXEC).8 $(DESTDIR)$(man8dir)
67
68 uninstall:
69         $(RM) $(DESTDIR)$(bindir)/$(EXEC)
70         $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8
71         $(RM) $(DESTDIR)$(unitdir)/$(EXEC).service
72         $(RM) $(DESTDIR)$(unitdir)/$(EXEC).socket
73
74 clean: dep_clean
75         $(RM) core *.o $(EXEC)
76
77 include $(wildcard $(OBJS:.o=.d))
78
79 dep_clean:
80         $(RM) $(OBJS:.o=.d)