Imported Upstream version 0.7.5
[platform/upstream/multipath-tools.git] / multipathd / Makefile
index 50eddd3..4c9d296 100644 (file)
@@ -1,69 +1,58 @@
-BUILD = glibc
-EXEC = multipathd
-
 include ../Makefile.inc
 
 #
-# directories where to put stuff
-#
-bindir = /usr/bin
-mandir = /usr/share/man/man8
-rcdir = /etc/init.d
-
-#
-# basic flags setting
-#
-CFLAGS = -pipe -g -Wall -Wunused -Wstrict-prototypes \
-        -DDAEMON -I$(multipathdir) -I$(checkersdir)
-LDFLAGS = -lpthread -ldevmapper -lsysfs -lreadline
-
-#
-# debuging stuff
+# debugging stuff
 #
 #CFLAGS += -DLCKDBG
 #CFLAGS += -D_DEBUG_
+#CFLAGS += -DLOGDBG
+CFLAGS += $(BIN_CFLAGS) -I$(multipathdir) -I$(mpathpersistdir) \
+         -I$(mpathcmddir) -I$(thirdpartydir)
+LDFLAGS += $(BIN_LDFLAGS)
+LIBDEPS += -L$(multipathdir) -lmultipath -L$(mpathpersistdir) -lmpathpersist \
+          -L$(mpathcmddir) -lmpathcmd -ludev -ldl -lurcu -lpthread \
+          -ldevmapper -lreadline
+
+ifdef SYSTEMD
+       CFLAGS += -DUSE_SYSTEMD=$(SYSTEMD)
+       ifeq ($(shell test $(SYSTEMD) -gt 209 && echo 1), 1)
+               LIBDEPS += -lsystemd
+       else
+               LIBDEPS += -lsystemd-daemon
+       endif
+endif
+
+OBJS = main.o pidfile.o uxlsnr.o uxclnt.o cli.o cli_handlers.o
 
-#
-# object files
-#
-OBJS = main.o copy.o log.o log_pthread.o pidfile.o uxlsnr.o uxclnt.o cli.o cli_handlers.o \
-       $(MULTIPATHLIB)-glibc.a $(CHECKERSLIB)-glibc.a \
-
-
-#
-# directives
-#
-all : $(BUILD)
-
-glibc: $(EXEC)
+EXEC = multipathd
 
-klibc:
-       $(MAKE) BUILD=glibc glibc
+all : $(EXEC)
 
-$(EXEC): clean $(OBJS)
-       $(CC) $(OBJS) -o $(EXEC) $(LDFLAGS)
-       $(STRIP) $(EXEC)
+$(EXEC): $(OBJS) $(multipathdir)/libmultipath.so $(mpathcmddir)/libmpathcmd.so
+       $(CC) $(CFLAGS) $(OBJS) $(LDFLAGS) -o $(EXEC) $(LIBDEPS)
        $(GZIP) $(EXEC).8 > $(EXEC).8.gz
 
-$(CHECKERSLIB)-glibc.a:
-       $(MAKE) -C $(checkersdir) BUILD=glibc glibc
-
-$(MULTIPATHLIB)-glibc.a:
-       $(MAKE) -C $(multipathdir) DAEMON=1 BUILD=glibc glibc
-
 install:
-       install -d $(DESTDIR)$(bindir)
-       install -m 755 $(EXEC) $(DESTDIR)$(bindir)
-       install -d $(DESTDIR)$(rcdir)
-       install -d $(DESTDIR)$(mandir)
-       install -m 644 $(EXEC).8.gz $(DESTDIR)$(mandir)
+       $(INSTALL_PROGRAM) -d $(DESTDIR)$(bindir)
+       $(INSTALL_PROGRAM) -m 755 $(EXEC) $(DESTDIR)$(bindir)
+ifdef SYSTEMD
+       $(INSTALL_PROGRAM) -d $(DESTDIR)$(unitdir)
+       $(INSTALL_PROGRAM) -m 644 $(EXEC).service $(DESTDIR)$(unitdir)
+       $(INSTALL_PROGRAM) -m 644 $(EXEC).socket $(DESTDIR)$(unitdir)
+endif
+       $(INSTALL_PROGRAM) -d $(DESTDIR)$(man8dir)
+       $(INSTALL_PROGRAM) -m 644 $(EXEC).8.gz $(DESTDIR)$(man8dir)
 
 uninstall:
-       rm -f $(DESTDIR)$(bindir)/$(EXEC)
-       rm -f $(DESTDIR)$(rcdir)/$(EXEC)
-       rm -f $(DESTDIR)$(mandir)/$(EXEC).8.gz
+       $(RM) $(DESTDIR)$(bindir)/$(EXEC)
+       $(RM) $(DESTDIR)$(man8dir)/$(EXEC).8.gz
+       $(RM) $(DESTDIR)$(unitdir)/$(EXEC).service
+       $(RM) $(DESTDIR)$(unitdir)/$(EXEC).socket
+
+clean: dep_clean
+       $(RM) core *.o $(EXEC) *.gz
 
-clean:
-       $(MAKE) -C $(multipathdir) clean
-       rm -f core *.o $(EXEC) *.gz
+include $(wildcard $(OBJS:.o=.d))
 
+dep_clean:
+       $(RM) $(OBJS:.o=.d)