summarylogtreecommitdiffstats
path: root/libxnvctrl_so.patch
blob: 29319aaacd62b64deebfbdbbb9301c1fa962f36e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
--- src/libXNVCtrl/Makefile
+++ src/libXNVCtrl/Makefile
@@ -49,9 +49,9 @@ LDFLAGS += $(XNVCTRL_LDFLAGS)
 ##############################################################################
 
 .PHONY: all
-all: $(LIBXNVCTRL)
+all: $(LIBXNVCTRL) $(LIBXNVCTRL_SHARED)
 
 .PHONY: clean
 clean:
-	rm -rf $(LIBXNVCTRL) *~ \
+	rm -rf $(LIBXNVCTRL) $(LIBXNVCTRL_SHARED)* *~ \
 		$(OUTPUTDIR)/*.o $(OUTPUTDIR)/*.d
--- src/libXNVCtrl/xnvctrl.mk
+++ src/libXNVCtrl/xnvctrl.mk
@@ -39,6 +39,11 @@ XNVCTRL_CFLAGS ?=
 
 LIBXNVCTRL = $(OUTPUTDIR)/libXNVCtrl.a
 
+LIBXNVCTRL_SHARED = $(OUTPUTDIR)/libXNVCtrl.so
+LIBXNVCTRL_ABI_VERSION_MAJOR = 0
+LIBXNVCTRL_ABI_VERSION_MINOR = 0
+LIBXNVCTRL_LIBS += -lXext -lX11
+
 LIBXNVCTRL_SRC = $(XNVCTRL_DIR)/NVCtrl.c
 
 LIBXNVCTRL_OBJ = $(call BUILD_OBJECT_LIST,$(LIBXNVCTRL_SRC))
@@ -47,3 +52,8 @@ $(eval $(call DEFINE_OBJECT_RULE,TARGET,$(LIBXNVCTRL_SRC)))
 
 $(LIBXNVCTRL) : $(LIBXNVCTRL_OBJ)
 	$(call quiet_cmd,AR) ru $@ $(LIBXNVCTRL_OBJ)
+
+$(LIBXNVCTRL_SHARED) : $(LIBXNVCTRL_OBJ)
+	$(CC) -shared $(CFLAGS) $(LDFLAGS) -Wl,-soname=$(notdir $@).${LIBXNVCTRL_ABI_VERSION_MAJOR} -o $@.$(LIBXNVCTRL_ABI_VERSION_MAJOR).$(LIBXNVCTRL_ABI_VERSION_MINOR).0 $^ $(LIBXNVCTRL_LIBS)
+	ln -s $(notdir $@).$(LIBXNVCTRL_ABI_VERSION_MAJOR).$(LIBXNVCTRL_ABI_VERSION_MINOR).0 $@
+	ln -s $(notdir $@).$(LIBXNVCTRL_ABI_VERSION_MAJOR).$(LIBXNVCTRL_ABI_VERSION_MINOR).0 $@.$(LIBXNVCTRL_ABI_VERSION_MAJOR)