--- /dev/null
+# HG changeset patch
+# User Stefan Strogin <stefan.strogin@gmail.com>
+# Date 1544083567 -7200
+# Thu Dec 06 10:06:07 2018 +0200
+# Branch make
+# Node ID 938b9b0dc4fb7b22f8d110e9259899602fe7c1ba
+# Parent cccf2f62d439fc3dd6248014d171efc811f89f2b
+Compile source files separately. Fixes issue #192
+
+diff -r cccf2f62d439 -r 938b9b0dc4fb Makefile
+--- a/Makefile Sun Dec 02 22:34:01 2018 +1300
++++ b/Makefile Thu Dec 06 10:06:07 2018 +0200
+@@ -57,11 +57,13 @@
+ HANGOUTS_DEST =\r
+ HANGOUTS_ICONS_DEST =\r
+ else\r
++ CFLAGS := $(CFLAGS) -fPIC $(INCLUDES) -Ipurple2compat $(PROTOBUF_OPTS) `$(PKG_CONFIG) purple glib-2.0 json-glib-1.0 zlib --libs --cflags`\r
+ HANGOUTS_TARGET = libhangouts.so\r
+ HANGOUTS_DEST = $(DESTDIR)`$(PKG_CONFIG) --variable=plugindir purple`\r
+ HANGOUTS_ICONS_DEST = $(DESTDIR)`$(PKG_CONFIG) --variable=datadir purple`/pixmaps/pidgin/protocols\r
+ endif\r
+ else\r
++ CFLAGS := $(CFLAGS) -fPIC $(INCLUDES) $(PROTOBUF_OPTS) `$(PKG_CONFIG) purple-3 glib-2.0 json-glib-1.0 zlib --libs --cflags`\r
+ HANGOUTS_TARGET = libhangouts3.so\r
+ HANGOUTS_DEST = $(DESTDIR)`$(PKG_CONFIG) --variable=plugindir purple-3`\r
+ HANGOUTS_ICONS_DEST = $(DESTDIR)`$(PKG_CONFIG) --variable=datadir purple-3`/pixmaps/pidgin/protocols\r
+@@ -75,12 +77,10 @@
+ WIN32_PIDGIN2_LDFLAGS = -L$(PIDGIN_TREE_TOP)/libpurple $(WIN32_LDFLAGS)\r
+ WIN32_PIDGIN3_LDFLAGS = -L$(PIDGIN3_TREE_TOP)/libpurple -L$(WIN32_DEV_TOP)/gplugin-dev/gplugin $(WIN32_LDFLAGS) -lgplugin\r
+ \r
+-C_FILES := hangouts.pb-c.c hangout_media.pb-c.c gmail.pb-c.c hangouts_json.c hangouts_pblite.c hangouts_connection.c hangouts_auth.c hangouts_events.c hangouts_conversation.c hangouts_media.c\r
+-PURPLE_COMPAT_FILES := purple2compat/http.c purple2compat/purple-socket.c\r
+-PURPLE_C_FILES := libhangouts.c $(C_FILES)\r
+-TEST_C_FILES := hangouts_test.c $(C_FILES)\r
+-\r
+-\r
++OBJ := hangouts.pb-c.o hangout_media.pb-c.o gmail.pb-c.o hangouts_json.o hangouts_pblite.o hangouts_connection.o hangouts_auth.o hangouts_events.o hangouts_conversation.o hangouts_media.o\r
++PURPLE_COMPAT_FILES := purple2compat/http.o purple2compat/purple-socket.o\r
++PURPLE_C_FILES := libhangouts.c $(OBJ)\r
++TEST_C_FILES := hangouts_test.c $(OBJ)\r
+ \r
+ .PHONY: all install FAILNOPURPLE clean\r
+ \r
+@@ -96,10 +96,10 @@
+ $(PROTOC_C) --c_out=. gmail.proto\r
+ \r
+ libhangouts.so: $(PURPLE_C_FILES) $(PURPLE_COMPAT_FILES)\r
+- $(CC) -fPIC $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) $(PROTOBUF_OPTS) `$(PKG_CONFIG) purple glib-2.0 json-glib-1.0 zlib --libs --cflags` -ldl $(INCLUDES) -Ipurple2compat -g -ggdb\r
++ $(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) -ggdb -ldl\r
+ \r
+ libhangouts3.so: $(PURPLE_C_FILES)\r
+- $(CC) -fPIC $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) $(PROTOBUF_OPTS) `$(PKG_CONFIG) purple-3 glib-2.0 json-glib-1.0 zlib --libs --cflags` -ldl $(INCLUDES) -g -ggdb\r
++ $(CC) $(CFLAGS) -shared -o $@ $^ $(LDFLAGS) -ggdb -ldl\r
+ \r
+ libhangouts.dll: $(PURPLE_C_FILES) $(PURPLE_COMPAT_FILES)\r
+ $(WIN32_CC) -shared -o $@ $^ $(WIN32_PIDGIN2_CFLAGS) $(WIN32_PIDGIN2_LDFLAGS) -Ipurple2compat\r
+@@ -126,7 +126,7 @@
+ echo "You need libpurple development headers installed to be able to compile this plugin"\r
+ \r
+ clean:\r
+- rm -f $(HANGOUTS_TARGET) hangouts.pb-c.h hangouts.pb-c.c hangout_media.pb-c.h hangout_media.pb-c.c\r
++ rm -f $(HANGOUTS_TARGET) $(OBJ) $(PURPLE_COMPAT_FILES) hangouts.pb-c.h hangouts.pb-c.c hangout_media.pb-c.h hangout_media.pb-c.c\r
+ \r
+ \r
+ installer: purple-hangouts.nsi libhangouts.dll\r