--- makefile.orig	2012-01-27 18:52:23.000000000 -0500
+++ makefile	2012-02-12 14:28:24.000000000 -0500
@@ -7,14 +7,7 @@
 # Also works with ming32-make on Windows.
 
 .SUFFIXES: .cxx .c .o .h .a
-ifdef CLANG
-CC = clang
-CCOMP = clang
-else
-CC = g++
-CCOMP = gcc
-endif
-AR = ar
+AR = $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared
 RANLIB = touch
 
 ifdef GTK3
@@ -36,7 +29,8 @@
 COMPLIB=..\bin\scintilla.a
 else
 DEL = rm -f
-COMPLIB=../bin/scintilla.a
+COMPLIB=../bin/libscintilla.so.2
+LEXRLIB=../bin/libscintilla_lexers.so.2
 endif
 
 vpath %.h ../src ../include ../lexlib
@@ -63,6 +57,7 @@
 CFLAGS:=$(CXXTFLAGS)
 
 CONFIGFLAGS:=$(shell pkg-config --cflags $(GTKVERSION))
+CONFIGLIBS:=$(shell pkg-config --libs $(GTKVERSION))
 MARSHALLER=scintilla-marshal.o
 
 .cxx.o:
@@ -72,7 +67,7 @@
 
 LEXOBJS:=$(addsuffix .o,$(basename $(notdir $(wildcard ../lexers/Lex*.cxx))))
 
-all: $(COMPLIB)
+all: $(COMPLIB) $(LEXRLIB)
 
 clean:
 	$(DEL) *.o $(COMPLIB)
@@ -85,9 +80,11 @@
 	ScintillaBase.o ContractionState.o Editor.o ExternalLexer.o PropSetSimple.o PlatGTK.o \
 	KeyMap.o LineMarker.o PositionCache.o ScintillaGTK.o CellBuffer.o ViewStyle.o \
 	RESearch.o RunStyles.o Selection.o Style.o Indicator.o AutoComplete.o UniConversion.o XPM.o \
-	$(MARSHALLER) $(LEXOBJS)
-	$(AR) rc $@ $^
-	$(RANLIB) $@
+	$(MARSHALLER)
+	$(AR) -o $@ $^ -Wl,--as-needed $(CONFIGLIBS)
+
+$(LEXRLIB): $(LEXOBJS)
+	$(AR) -o $@ $^ -Wl,--as-needed $(CONFIGLIBS)
 
 # Automatically generate header dependencies with "make deps"
 include deps.mak
