Skip to content

Commit 3fbbc7b

Browse files
committed
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
1 parent 3dc17d8 commit 3fbbc7b

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/libXNVCtrl/Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ LDFLAGS += $(XNVCTRL_LDFLAGS)
4949
##############################################################################
5050

5151
.PHONY: all
52-
all: $(LIBXNVCTRL)
52+
all: $(LIBXNVCTRL_STATIC) $(LIBXNVCTRL_SHARED)
5353

5454
.PHONY: clean
5555
clean:
5656
rm -rf $(LIBXNVCTRL) *~ \
57-
$(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d
57+
$(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d $(OUTPUTDIR)/*.so*

src/libXNVCtrl/xnvctrl.mk

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,20 @@ ifndef XNVCTRL_CFLAGS
3434
XNVCTRL_CFLAGS := $(shell $(PKG_CONFIG) --cflags x11)
3535
endif
3636

37-
LIBXNVCTRL = $(OUTPUTDIR)/libXNVCtrl.a
37+
LIBXNVCTRL_STATIC = $(OUTPUTDIR)/libXNVCtrl.a
38+
39+
LIBXNVCTRL_SHARED = $(OUTPUTDIR)/libXNVCtrl.so.0
3840

3941
LIBXNVCTRL_SRC = $(XNVCTRL_DIR)/NVCtrl.c
4042

4143
LIBXNVCTRL_OBJ = $(call BUILD_OBJECT_LIST,$(LIBXNVCTRL_SRC))
4244

4345
$(eval $(call DEFINE_OBJECT_RULE,TARGET,$(LIBXNVCTRL_SRC)))
4446

45-
$(LIBXNVCTRL) : $(LIBXNVCTRL_OBJ)
47+
$(LIBXNVCTRL_STATIC) : $(LIBXNVCTRL_OBJ)
4648
$(call quiet_cmd,AR) ru $@ $(LIBXNVCTRL_OBJ)
49+
50+
$(LIBXNVCTRL_SHARED): $(LIBXNVCTRL_OBJ)
51+
$(CC) -shared -Wl,-soname=$(@F).0 -o $@.0.0.0 $(LDFLAGS) $^ -lXext -lX11
52+
ln -s $(@F).0.0.0 $@.0
53+
ln -s $(@F).0 $@

0 commit comments

Comments
 (0)