view libpurple/protocols/oscar/Makefile.mingw @ 23313:f1a0258b44f4

Added paramater to aim_send_login() to allow control over whether we want multiple logins or not per AIM connection. If TRUE, we have the current behavior, in which the AIM server prompts the user as to what to do. If FALSE, existing logins are disconnected as we connect. We pass OSCAR_DEFAULT_ALLOW_MULTIPLE_LOGINS, which is TRUE.
author Evan Schoenberg <evan.s@dreskin.net>
date Sat, 07 Jun 2008 15:41:05 +0000
parents 1843c0180fbe
children aaaff38e144f f2baa434a977
line wrap: on
line source

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

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

TARGET = liboscar
AIM_TARGET = libaim
ICQ_TARGET = libicq
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$(GTK_TOP)/include \
			-I$(GTK_TOP)/include/glib-2.0 \
			-I$(GTK_TOP)/lib/glib-2.0/include \
			-I$(PURPLE_TOP) \
			-I$(PURPLE_TOP)/win32 \
			-I$(PIDGIN_TREE_TOP)

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

##
##  SOURCES, OBJECTS
##
C_SRC = \
	bstream.c		\
	family_admin.c		\
	family_advert.c		\
	family_alert.c		\
	family_auth.c		\
	family_bart.c		\
	family_bos.c		\
	family_buddy.c		\
	family_chat.c		\
	family_chatnav.c	\
	family_icq.c		\
	family_icbm.c		\
	family_invite.c		\
	family_locate.c		\
	family_odir.c		\
	family_popup.c		\
	family_oservice.c	\
	family_feedbag.c	\
	family_stats.c		\
	family_translate.c	\
	family_userlookup.c	\
	flap_connection.c	\
	misc.c			\
	msgcookie.c		\
	odc.c			\
	oft.c			\
	oscar.c			\
	oscar_data.c		\
	peer.c			\
	peer_proxy.c		\
	rxhandlers.c		\
	snac.c			\
	tlv.c			\
	util.c

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

AIM_C_SRC = libaim.c
AIM_OBJECTS = $(AIM_C_SRC:%.c=%.o)

ICQ_C_SRC = libicq.c
ICQ_OBJECTS = $(ICQ_C_SRC:%.c=%.o)

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

include $(PIDGIN_COMMON_RULES)

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

all: $(TARGET).dll $(AIM_TARGET).dll $(ICQ_TARGET).dll

install: all $(DLL_INSTALL_DIR)
	cp $(AIM_TARGET).dll $(ICQ_TARGET).dll $(DLL_INSTALL_DIR)
	cp $(TARGET).dll $(PURPLE_INSTALL_DIR)

$(OBJECTS): $(PURPLE_CONFIG_H)

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

$(AIM_TARGET).dll: $(TARGET).dll.a $(AIM_OBJECTS)
	$(CC) -shared $(AIM_OBJECTS) $(LIB_PATHS) $(LIBS) -loscar $(DLL_LD_FLAGS) -o $(AIM_TARGET).dll

$(ICQ_TARGET).dll: $(TARGET).dll.a $(ICQ_OBJECTS)
	$(CC) -shared $(ICQ_OBJECTS) $(LIB_PATHS) $(LIBS) -loscar $(DLL_LD_FLAGS) -o $(ICQ_TARGET).dll

##
## CLEAN RULES
##
clean:
	rm -f $(OBJECTS) $(TARGET).dll $(TARGET).dll.a
	rm -f $(AIM_OBJECTS) $(AIM_TARGET).dll
	rm -f $(ICQ_OBJECTS) $(ICQ_TARGET).dll

include $(PIDGIN_COMMON_TARGETS)