view libpurple/protocols/bonjour/Makefile.mingw @ 21829:cc0809ec0c85

This is the second part of the fix to support having multiple presence records in Bonjour (and also supporting multiple presences using the same IP). Incoming conversations are no longer immediately attached to a buddy - we use an algorithm to match a conversation to a buddy based on the IP and, if possible the "from" attribute of the stream or the first tag in the stream. Thanks to Sjoerd Simons from Telepahy Salut for noticing and suggesting the algorithm. Fixes #4187. It'd be good if a few people test this.
author Daniel Atallah <daniel.atallah@gmail.com>
date Fri, 14 Dec 2007 21:44:34 +0000
parents db7fa42845f6
children 1d712c4f9b6c
line wrap: on
line source

#
# Makefile.mingw
#
# Description: Makefile for win32 (mingw) version of libbonjour
#

PIDGIN_TREE_TOP := ../../..
include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak

TARGET = libbonjour
TYPE = PLUGIN

# Static or Plugin...
ifeq ($(TYPE),STATIC)
  DEFINES += -DSTATIC
  DLL_INSTALL_DIR =	$(PURPLE_INSTALL_DIR)
else
ifeq ($(TYPE),PLUGIN)
  DLL_INSTALL_DIR =	$(PURPLE_INSTALL_PLUGINS_DIR)
endif
endif

CFLAGS += -DUSE_BONJOUR_APPLE

##
## INCLUDE PATHS
##
INCLUDE_PATHS +=	-I. \
			-I$(GTK_TOP)/include \
			-I$(GTK_TOP)/include/glib-2.0 \
			-I$(GTK_TOP)/lib/glib-2.0/include \
			-I$(BONJOUR_TOP)/Include \
			-I$(LIBXML2_TOP)/include \
			-I$(PURPLE_TOP) \
			-I$(PURPLE_TOP)/win32 \
			-I$(PIDGIN_TREE_TOP)

LIB_PATHS +=		-L$(GTK_TOP)/lib \
			-L$(LIBXML2_TOP)/lib \
			-L$(PURPLE_TOP)

##
##  SOURCES, OBJECTS
##
C_SRC =			bonjour.c \
			bonjour_ft.c \
			buddy.c \
			dns_sd_proxy.c \
			jabber.c \
			mdns_common.c \
			mdns_win32.c \
			parser.c

OBJECTS = $(C_SRC:%.c=%.o)

##
## LIBRARIES
##
LIBS =	\
			-lglib-2.0 \
			-lws2_32 \
			-lintl \
			-lnetapi32 \
			-lxml2 \
			-lpurple

ifeq ($(LINK_DNS_SD_DIRECTLY), 1)
	CFLAGS += -DLINK_DNS_SD_DIRECTLY
	LIB_PATHS += -L$(BONJOUR_TOP)/lib/win32 -L$(BONJOUR_TOP)/lib
	LIBS += -ldnssd
endif

include $(PIDGIN_COMMON_RULES)

##
## TARGET DEFINITIONS
##
.PHONY: all install clean

all: $(TARGET).dll

install: all $(DLL_INSTALL_DIR)
	cp $(TARGET).dll $(DLL_INSTALL_DIR)

$(OBJECTS): $(PURPLE_CONFIG_H)

$(TARGET).dll: $(PURPLE_DLL).a $(OBJECTS)
	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll

##
## CLEAN RULES
##

clean:
	rm -f $(OBJECTS)
	rm -f $(TARGET).dll

include $(PIDGIN_COMMON_TARGETS)