--- a/libpurple.mk Mon Apr 24 22:14:43 2017 -0500
+++ b/libpurple.mk Mon Apr 24 22:33:59 2017 -0500
@@ -17,25 +17,62 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# figure out the os and set the proper variables for it PLUGIN_TARGET := $(PLUGIN_NAME).dll
+# set the platform cflags and libs +PLATFORM_CFLAGS := $(PLUGIN_CFLAGS_WIN32) +PLATFORM_LIBS := $(PLUGIN_LIBS_WIN32) +# set the variables for windows that are usually populated by pkg-config +CC ?= $(WIN32_DEV_TOP)/mingw-4.7.2/bin/gcc +LIBPURPLE_PLUGIN_DIR := $(PROGRAMFILES)/Pidgin/plugins + -I$(WIN32_DEV_TOP)/glib-2.28.8/include \ + -I$(WIN32_DEV_TOP)/glib-2.28.8/include/glib-2.0 \ + -I$(WIN32_DEV_TOP)/glib-2.28.8/lib/glib-2.0/include + -L$(WIN32_DEV_TOP)/glib-2.28.8/lib \ PLUGIN_TARGET := $(PLUGIN_NAME).so
+UNAME_S := $(shell uname -s) +ifeq ($(UNAME_S),Darwin) +PLATFORM_CFLAGS := $(PLUGIN_CFLAGS_DARWIN) +PLATFORM_LIBS := $(PLUGIN_LIBS_DARWIN) +PLATFORM_CFLAGS := $(PLUGIN_CFLAGS_LINUX) +PLATFORM_LIBS := $(PLUGIN_LIBS_LINUX) -PLUGIN_OBJECTS := $(PLUGIN_SOURCES:%.c=%.o)
+# set a bunch of variables if there weren't set already
+ -Wall -Wextra -Werror -Wformat \ + -Wno-deprecated-declarations -Wno-unused-parameter \ +# pkg-config if necessary
LIBPURPLE_PC_MODULE ?= purple
-LIBPURPLE_CFLAGS := $(shell $(PKG_CONFIG) --cflags $(LIBPURPLE_PC_MODULE))
-LIBPURPLE_LIBS := $(shell $(PKG_CONFIG) --libs $(LIBPURPLE_PC_MODULE))
-LIBPURPLE_PLUGIN_DIR := $(shell $(PKG_CONFIG) --variable=plugindir $(LIBPURPLE_PC_MODULE))
-LIBPURPLE_DATA_DIR := $(shell $(PKG_CONFIG) --variable=datadir $(LIBPURPLE_PC_MODULE))
-LIBPURPLE_LIB_DIR := $(shell $(PKG_CONFIG) --variable=libdir $(LIBPURPLE_PC_MODULE))
+LIBPURPLE_CFLAGS ?= $(shell $(PKG_CONFIG) --cflags $(LIBPURPLE_PC_MODULE)) +LIBPURPLE_LIBS ?= $(shell $(PKG_CONFIG) --libs $(LIBPURPLE_PC_MODULE)) +LIBPURPLE_PLUGIN_DIR ?= $(shell $(PKG_CONFIG) --variable=plugindir $(LIBPURPLE_PC_MODULE)) +LIBPURPLE_DATA_DIR ?= $(shell $(PKG_CONFIG) --variable=datadir $(LIBPURPLE_PC_MODULE)) +LIBPURPLE_LIB_DIR ?= $(shell $(PKG_CONFIG) --variable=libdir $(LIBPURPLE_PC_MODULE)) +# Variables that are platform independent +PLUGIN_OBJECTS := $(PLUGIN_SOURCES:%.c=%.o) -DDATADIR=$(LIBPURPLE_DATA_DIR) \
-DLIBDIR=$(LIBPURPLE_LIB_DIR) \
@@ -55,7 +92,7 @@
rm -f $(LIBPURPLE_PLUGIN_DIR)/$(PLUGIN_TARGET)
- $(CC) $(CFLAGS) $(ADDITIONAL_CFLAGS) $(LIBPURPLE_CFLAGS) $(PLUGIN_CFLAGS) -c -o $@ $<
+ $(CC) $(CFLAGS) $(ADDITIONAL_CFLAGS) $(PLATFORM_CFLAGS) $(LIBPURPLE_CFLAGS) $(PLUGIN_CFLAGS) -c -o $@ $< $(PLUGIN_TARGET): $(PLUGIN_OBJECTS) $(PLUGIN_HEADERS) $(MAKEFILE_LIST)
- $(CC) -shared $(LIBS) $(LIBPURPLE_LIBS) $(PLUGIN_LIBS) -o $@ $(PLUGIN_OBJECTS)
+ $(CC) -shared $(LIBS) $(LIBPURPLE_LIBS) $(PLATFORM_LIBS) $(LDFLAGS) $(PLUGIN_LIBS) -o $@ $(PLUGIN_OBJECTS)