5
LIBDIR=$(PREFIX)/$(LIBNUM)
6
HDRDIR=$(PREFIX)/include
7
MANDIR=$(PREFIX)/share/man
11
BIN_TARGET = dlm_controld
13
LIB_NAME = libdlmcontrol
16
LIB_SO = $(LIB_NAME).so
17
LIB_SMAJOR = $(LIB_SO).$(LIB_MAJOR)
18
LIB_TARGET = $(LIB_SO).$(LIB_MAJOR).$(LIB_MINOR)
20
BIN_SOURCE = action.c \
34
BIN_CFLAGS += -D_GNU_SOURCE -O2 -ggdb \
38
-Wmissing-prototypes \
49
-Wno-unused-parameter \
50
-Wp,-D_FORTIFY_SOURCE=2 \
52
-fasynchronous-unwind-tables \
53
-fdiagnostics-show-option \
55
BIN_CFLAGS += -fPIE -DPIE
56
BIN_CFLAGS += -I../include -I../libdlm
58
BIN_LDFLAGS += -Wl,-z,now -Wl,-z,relro -pie
59
BIN_LDFLAGS += -lpthread -lrt -lcpg -lcmap -lcfg -lquorum
61
LIB_CFLAGS += $(BIN_CFLAGS)
62
LIB_LDFLAGS += -Wl,-z,relro -pie
64
ifeq ($(USE_SD_NOTIFY),yes)
65
BIN_CFLAGS += $(shell pkg-config --cflags libsystemd-daemon) \
67
BIN_LDFLAGS += $(shell pkg-config --libs libsystemd-daemon)
70
all: $(LIB_TARGET) $(BIN_TARGET)
72
$(BIN_TARGET): $(BIN_SOURCE)
73
$(CC) $(BIN_SOURCE) $(BIN_CFLAGS) $(BIN_LDFLAGS) -o $@ -L.
75
$(LIB_TARGET): $(LIB_SOURCE)
76
$(CC) $^ $(LIB_CFLAGS) $(LIB_LDFLAGS) -shared -fPIC -o $@ -Wl,-soname=$(LIB_SMAJOR)
77
ln -sf $(LIB_TARGET) $(LIB_SO)
78
ln -sf $(LIB_TARGET) $(LIB_SMAJOR)
81
rm -f *.o *.so *.so.* $(BIN_TARGET) $(LIB_TARGET)
84
INSTALL=$(shell which install)
88
$(INSTALL) -d $(DESTDIR)/$(BINDIR)
89
$(INSTALL) -d $(DESTDIR)/$(LIBDIR)
90
$(INSTALL) -d $(DESTDIR)/$(HDRDIR)
91
$(INSTALL) -d $(DESTDIR)/$(MANDIR)/man8
92
$(INSTALL) -d $(DESTDIR)/$(MANDIR)/man5
93
$(INSTALL) -m 755 $(BIN_TARGET) $(DESTDIR)/$(BINDIR)
94
$(INSTALL) -m 755 $(LIB_TARGET) $(DESTDIR)/$(LIBDIR)
95
cp -a $(LIB_SO) $(DESTDIR)/$(LIBDIR)
96
cp -a $(LIB_SMAJOR) $(DESTDIR)/$(LIBDIR)
97
$(INSTALL) -m 644 libdlmcontrol.h $(DESTDIR)/$(HDRDIR)
98
$(INSTALL) -m 644 dlm_controld.8 $(DESTDIR)/$(MANDIR)/man8/
99
$(INSTALL) -m 644 dlm.conf.5 $(DESTDIR)/$(MANDIR)/man5/