view libpurple/protocols/bonjour/Makefile.mingw @ 20761:fb70e89180a9

Don't link the bonjour prpl on win32 directly to the Apple Bonjour library, instead do everything indirectly and display an error message at login time indicating that Bonjour isn't installed. This should make the prpl more discoverable.
author Daniel Atallah <daniel.atallah@gmail.com>
date Wed, 03 Oct 2007 00:47:25 +0000
parents 316be7e715c6
children 754603796c1e
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$(BONJOUR_TOP)/lib \
			-L$(LIBXML2_TOP)/lib \
			-L$(PURPLE_TOP)

##
##  SOURCES, OBJECTS
##
C_SRC =			bonjour.c \
			buddy.c \
			dns_sd_proxy.c \
			mdns_common.c \
			mdns_win32.c \
			parser.c \
			jabber.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
	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)