# Description: Makefile for win32 (mingw) version of libpurple include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak NEEDED_DLLS = $(LIBXML2_TOP
)/bin/libxml2-2.dll
# gcc 4.8 on windows moved to dynamically linking libgcc. So if we're building # under msys2 we assume we're using gcc >= 4.8 and need to copy libgcc and # libwinpthread from the system into our install bundle. # See https://gcc.gnu.org/gcc-4.8/changes.html#windows for more info. ifeq ($(MSYSTEM),MINGW32) NEEDED_DLLS += $(MSYSTEM_PREFIX
)/bin/libgcc_s_dw2-1.dll
\ $(MSYSTEM_PREFIX
)/bin/libwinpthread-1.dll
NEEDED_DLLS += $(CYRUS_SASL_TOP
)/bin/libsasl2-3.dll
$(CYRUS_SASL_TOP
)/lib/sasl2/libanonymous-3.dll
\ $(CYRUS_SASL_TOP
)/lib/sasl2/libcrammd5-3.dll
\ $(CYRUS_SASL_TOP
)/lib/sasl2/libdigestmd5-3.dll
\ $(CYRUS_SASL_TOP
)/lib/sasl2/libplain-3.dll
-I
$(GTK_TOP
)/include/glib-2.0
\ -I
$(GTK_TOP
)/lib/glib-2.0/include
\ -I
$(LIBXML2_TOP
)/include/libxml2
LIB_PATHS += -L
$(GTK_TOP
)/lib
\ RC_SRC = win32/libpurplerc.rc
OBJECTS = $(C_SRC:%.c
=%.o
) $(RC_SRC:%.rc
=%.o
) PC_SRC = data/purple.pc.in
data/purple-uninstalled.pc.in
\ data/purple-2.pc.in
data/purple-2-uninstalled.pc.in
PC_FILES = $(PC_SRC:%.pc.in
=%.pc
) include $(PIDGIN_COMMON_RULES) .PHONY: all install install_shallow clean all: $(TARGET).
dll $(PC_FILES) $(MAKE
) -C
$(PURPLE_PROTOS_TOP
) -f
$(MINGW_MAKEFILE
) $(MAKE
) -C
$(PURPLE_PLUGINS_TOP
) -f
$(MINGW_MAKEFILE
) install_shallow: $(PURPLE_INSTALL_DIR) $(TARGET).
dll cp
$(TARGET
).dll
$(PURPLE_INSTALL_DIR
) cp
$(NEEDED_DLLS
) $(PURPLE_INSTALL_DIR
) mkdir
-p
$(PURPLE_INSTALL_DIR
)/sasl2
cp
$(CYRUS_SASL_PLUGINS
) $(PURPLE_INSTALL_DIR
)/sasl2
install: install_shallow all $(MAKE
) -C
$(PURPLE_PROTOS_TOP
) -f
$(MINGW_MAKEFILE
) install
$(MAKE
) -C
$(PURPLE_PLUGINS_TOP
) -f
$(MINGW_MAKEFILE
) install
./win32/libpurplerc.rc: ./
win32/
libpurplerc.
rc.
in $(PIDGIN_TREE_TOP)/
VERSION sed
-e
's/@PURPLE_VERSION@/$(PURPLE_VERSION)/g' \ $(OBJECTS): $(PURPLE_CONFIG_H) $(PURPLE_VERSION_H) $(PURPLE_PURPLE_H) $(TARGET).dll $(TARGET).dll.a: $(OBJECTS) $(CC
) -shared
$(OBJECTS
) $(LIB_PATHS
) $(LIBS
) $(DLL_LD_FLAGS
) -Wl,--output-def,
$(TARGET
).def,--out-implib,
$(TARGET
).dll.a
-o
$(TARGET
).dll
rm
-f
$(OBJECTS
) $(RC_SRC
) $(PURPLE_VERSION_H
) $(PURPLE_PURPLE_H
) rm
-f
$(TARGET
).dll
$(TARGET
).dll.a
$(TARGET
).def
rm
-f
data/pidgin.pc
data/pidgin-uninstalled.pc
rm
-f
data/pidgin-2.pc
data/pidgin-2-uninstalled.pc
$(MAKE
) -C
$(PURPLE_PROTOS_TOP
) -f
$(MINGW_MAKEFILE
) clean
$(MAKE
) -C
$(PURPLE_PLUGINS_TOP
) -f
$(MINGW_MAKEFILE
) clean
include $(PIDGIN_COMMON_TARGETS)