From 0ddfd1d4f871846ff79de6630ddf9f09e9acaf39 Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Tue, 21 May 2024 07:46:12 +1200 Subject: [PATCH] Add make target for libXNVCtrl.so Some downstream packages link to this library dynamically, and Linux distributions have had to patch the build to fix dependants. Based on a patch by @negativo17 for Fedora: https://github.com/negativo17/nvidia-settings/blob/master/nvidia-settings-libXNVCtrl.patch --- src/libXNVCtrl/Makefile | 4 ++-- src/libXNVCtrl/xnvctrl.mk | 11 +++++++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/libXNVCtrl/Makefile b/src/libXNVCtrl/Makefile index 214aa6d..6efda2b 100644 --- a/src/libXNVCtrl/Makefile +++ b/src/libXNVCtrl/Makefile @@ -49,9 +49,9 @@ LDFLAGS += $(XNVCTRL_LDFLAGS) ############################################################################## .PHONY: all -all: $(LIBXNVCTRL) +all: $(LIBXNVCTRL_STATIC) $(LIBXNVCTRL_SHARED) .PHONY: clean clean: rm -rf $(LIBXNVCTRL) *~ \ - $(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d + $(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d $(OUTPUTDIR)/*.so* diff --git a/src/libXNVCtrl/xnvctrl.mk b/src/libXNVCtrl/xnvctrl.mk index fa05688..112b23c 100644 --- a/src/libXNVCtrl/xnvctrl.mk +++ b/src/libXNVCtrl/xnvctrl.mk @@ -34,7 +34,9 @@ ifndef XNVCTRL_CFLAGS XNVCTRL_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11) endif -LIBXNVCTRL = $(OUTPUTDIR)/libXNVCtrl.a +LIBXNVCTRL_STATIC = $(OUTPUTDIR)/libXNVCtrl.a + +LIBXNVCTRL_SHARED = $(OUTPUTDIR)/libXNVCtrl.so LIBXNVCTRL_SRC = $(XNVCTRL_DIR)/NVCtrl.c @@ -42,5 +44,10 @@ LIBXNVCTRL_OBJ = $(call BUILD_OBJECT_LIST,$(LIBXNVCTRL_SRC)) $(eval $(call DEFINE_OBJECT_RULE,TARGET,$(LIBXNVCTRL_SRC))) -$(LIBXNVCTRL) : $(LIBXNVCTRL_OBJ) +$(LIBXNVCTRL_STATIC) : $(LIBXNVCTRL_OBJ) $(call quiet_cmd,AR) ru $@ $(LIBXNVCTRL_OBJ) + +$(LIBXNVCTRL_SHARED): $(LIBXNVCTRL_OBJ) + $(CC) -shared -Wl,-soname=$(@F).0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11 + ln -s $(@F).0.0.0 $@.0 + ln -s $(@F).0 $@