--- 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)