Currently all corosync dependencies are hardcorded inside the dlm_controld Makefile. We will determine those dependencies by pkg-config. This allows us that dlm_controld can detect when the corosync libaries are installed in a different place determined by changing the PKG_CONFIG_PATH env variable. --- dlm_controld/Makefile | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/dlm_controld/Makefile b/dlm_controld/Makefile index 44715982..2d97453a 100644 --- a/dlm_controld/Makefile +++ b/dlm_controld/Makefile @@ -50,7 +50,7 @@ BIN_CFLAGS += -I../include -I../libdlm LIB_CFLAGS += $(CFLAGS) -fPIC -fplugin=annobin BIN_LDFLAGS += $(LDFLAGS) -Wl,-z,relro -Wl,-z,now -pie -BIN_LDFLAGS += -lpthread -lrt -lcpg -lcmap -lcfg -lquorum -luuid +BIN_LDFLAGS += -lpthread -lrt -luuid LIB_LDFLAGS += $(LDFLAGS) -Wl,-z,relro -Wl,-z,now -pie PKG_CONFIG ?= pkg-config @@ -67,12 +67,18 @@ else SYSTEMD_LDFLAGS_STATUS := 0 endif -CPG_LDFLAGS := $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --libs "libquorum >= 3.1.0") +CPG_CFLAGS := $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --cflags libcpg libcmap libcfg "libquorum >= 3.1.0") +CPG_CFLAGS_STATUS := $(.SHELLSTATUS) + +CPG_LDFLAGS += $(shell $(PKG_CONFIG) $(PKG_CONFIG_FLAGS) --libs libcpg libcmap libcfg "libquorum >= 3.1.0") CPG_LDFLAGS_STATUS := $(.SHELLSTATUS) all: $(LIB_TARGET) $(BIN_TARGET) $(LIB_PC) $(BIN_TARGET): $(BIN_SOURCE) +ifneq ($(CPG_CFLAGS_STATUS),0) + $(error "Failed to call pkg-config for corosync cflags: $(CPG_CFLAGS)") +endif ifneq ($(CPG_LDFLAGS_STATUS),0) $(error "Failed to call pkg-config for corosync ldflags: $(CPG_LDFLAGS)") endif @@ -82,7 +88,7 @@ endif ifneq ($(SYSTEMD_LDFLAGS_STATUS),0) $(error "Failed to call pkg-config for systemd ldflags: $(SYSTEMD_LDFLAGS)") endif - $(CC) $(BIN_SOURCE) $(BIN_CFLAGS) $(SYSTEMD_CFLAGS) $(BIN_LDFLAGS) $(SYSTEMD_LDFLAGS) -o $@ -L. + $(CC) $(BIN_SOURCE) $(BIN_CFLAGS) $(CPG_CFLAGS) $(SYSTEMD_CFLAGS) $(BIN_LDFLAGS) $(CPG_LDFLAGS) $(SYSTEMD_LDFLAGS) -o $@ -L. $(LIB_TARGET): $(LIB_SOURCE) $(CC) $^ $(LIB_CFLAGS) $(LIB_LDFLAGS) -shared -o $@ -Wl,-soname=$(LIB_SMAJOR) -- 2.31.1