view libpurple/protocols/jabber/Makefile.mingw @ 23669:85189641a970

This should have been part of the previous commit related to no longer installing our own MIT Kerberos libraries. This also tries to fix the PATH at runtime if MIT Kerberos is installed.
author Daniel Atallah <daniel.atallah@gmail.com>
date Wed, 30 Jul 2008 21:09:51 +0000
parents 9c83bea8ffd8
children 1de1494a13e5 b4ec5481a67a 907ca9a36fe0 bd598b606ca4
line wrap: on
line source

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

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

TARGET = libjabber
XMPP_TARGET = libxmpp
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

##
## INCLUDE PATHS
##
INCLUDE_PATHS +=	-I. \
			-I./win32 \
			-I$(GTK_TOP)/include \
			-I$(GTK_TOP)/include/glib-2.0 \
			-I$(GTK_TOP)/lib/glib-2.0/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) \
			-L.

##
##  SOURCES, OBJECTS
##
C_SRC =	\
			adhoccommands.c \
			auth.c \
			buddy.c \
			caps.c \
			chat.c \
			disco.c \
			google.c \
			iq.c \
			jabber.c \
			jutil.c \
			message.c \
			oob.c \
			parser.c \
			pep.c \
			ping.c \
			presence.c \
			roster.c \
			si.c \
			usermood.c \
			usernick.c \
			usertune.c \
			xdata.c \
			win32/posix.uname.c

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

XMPP_C_SRC = libxmpp.c
XMPP_OBJECTS = $(XMPP_C_SRC:%.c=%.o)

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

ifeq ($(CYRUS_SASL), 1)
CYRUS_SASL_TOP := $(WIN32_DEV_TOP)/cyrus-sasl-2.1.22-daa1
INCLUDE_PATHS += -I$(CYRUS_SASL_TOP)/include
LIB_PATHS += -L$(CYRUS_SASL_TOP)/bin
LIBS += -llibsasl
CYRUS_SASL_DLLS = \
			$(CYRUS_SASL_TOP)/bin/libsasl.dll

CYRUS_SASL_PLUGINS = \
			$(CYRUS_SASL_TOP)/bin/sasl2/saslANONYMOUS.dll \
			$(CYRUS_SASL_TOP)/bin/sasl2/saslCRAMMD5.dll \
			$(CYRUS_SASL_TOP)/bin/sasl2/saslDIGESTMD5.dll \
			$(CYRUS_SASL_TOP)/bin/sasl2/saslGSSAPI.dll \
			$(CYRUS_SASL_TOP)/bin/sasl2/saslLOGIN.dll \
			$(CYRUS_SASL_TOP)/bin/sasl2/saslPLAIN.dll

endif

include $(PIDGIN_COMMON_RULES)

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

all: $(TARGET).dll $(XMPP_TARGET).dll

install: all $(DLL_INSTALL_DIR)
	cp $(XMPP_TARGET).dll $(DLL_INSTALL_DIR)
	cp $(TARGET).dll $(PURPLE_INSTALL_DIR)
ifeq ($(CYRUS_SASL), 1)
	mkdir -p $(PURPLE_INSTALL_DIR)/sasl2
	cp $(CYRUS_SASL_DLLS) $(PURPLE_INSTALL_DIR)
	cp $(CYRUS_SASL_PLUGINS) $(PURPLE_INSTALL_DIR)/sasl2
endif

$(OBJECTS): $(PURPLE_CONFIG_H)

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

$(XMPP_TARGET).dll: $(TARGET).dll.a $(XMPP_OBJECTS)
	$(CC) -shared $(XMPP_OBJECTS) $(LIB_PATHS) $(LIBS) -ljabber $(DLL_LD_FLAGS) -o $(XMPP_TARGET).dll

##
## CLEAN RULES
##
clean:
	rm -f $(OBJECTS) $(TARGET).dll $(TARGET).dll.a
	rm -f $(XMPP_OBJECTS) $(XMPP_TARGET).dll

include $(PIDGIN_COMMON_TARGETS)