--- makefile.orig	2017-05-24 01:26:25 UTC
+++ makefile
@@ -9,14 +9,6 @@
 srcdir ?= .
 
 .SUFFIXES: .cxx .c .o .h .a .list
-ifdef CLANG
-CXX = clang++ -Wno-deprecated-register
-CC = clang
-# Can choose aspect to sanitize: address and undefined can simply change SANITIZE but for
-# thread also need to create Position Independent Executable -> search online documentation
-SANITIZE = address
-#SANITIZE = undefined
-endif
 ARFLAGS = rc
 RANLIB = touch
 
@@ -45,7 +37,12 @@ DEL = del /q
 COMPLIB=$(srcdir)\..\bin\scintilla.a
 else
 DEL = rm -f
-COMPLIB=$(srcdir)/../bin/scintilla.a
+COMPLIB_NAME=libscintilla.so
+COMPLIB_SONAME=$(COMPLIB_NAME).$(MAJOR)
+COMPLIB=$(COMPLIB_SONAME).$(AGE).$(REVISION)
+LEXRLIB_NAME=libscintilla_lexers.so
+LEXRLIB_SONAME=$(LEXRLIB_NAME).$(MAJOR)
+LEXRLIB=$(LEXRLIB_SONAME).$(AGE).$(REVISION)
 endif
 
 vpath %.h $(srcdir) $(srcdir)/../src $(srcdir)/../include $(srcdir)/../lexlib
@@ -98,7 +95,7 @@ GLIB_GENMARSHAL_FLAGS = --prefix=scintil
 
 LEXOBJS:=$(addsuffix .o,$(basename $(sort $(notdir $(wildcard $(srcdir)/../lexers/Lex*.cxx)))))
 
-all: $(COMPLIB)
+all: $(COMPLIB) $(LEXRLIB)
 
 clean:
 	$(DEL) *.o $(COMPLIB) *.plist
@@ -119,9 +116,11 @@ $(COMPLIB): Accessor.o CharacterSet.o Le
 	PropSetSimple.o PlatGTK.o \
 	KeyMap.o LineMarker.o PositionCache.o ScintillaGTK.o ScintillaGTKAccessible.o CellBuffer.o CharacterCategory.o ViewStyle.o \
 	RESearch.o RunStyles.o Selection.o Style.o Indicator.o AutoComplete.o UniConversion.o XPM.o \
-	$(MARSHALLER) $(LEXOBJS)
-	$(AR) $(ARFLAGS) $@ $^
-	$(RANLIB) $@
+	$(MARSHALLER)
+	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(COMPLIB_SONAME) -o $@ $^ -Wl,--as-needed $(CONFIGLIBS)
+
+$(LEXRLIB): $(LEXOBJS)
+	$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared -Wl,-soname,$(LEXRLIB_SONAME) -o $@ $^ -Wl,--as-needed $(CONFIGLIBS)
 
 # Automatically generate header dependencies with "make deps"
 include deps.mak
