view src/protocols/qq/Makefile.mingw @ 13967:99b9b58b19dd

[gaim-migrate @ 16523] Fix a crazy MSN crash. Basically it's possible to have more than one slplink associated with a given switchboard, but our code did not allow for that. I think it happens when you're in a multi-user chat and you do stuff with multiple users that involves slplinks. Like maybe file transfer and buddy icon related stuff. Tracking this down took an ungodly amount of time, but thanks to Meebo for letting me do it :-) committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Thu, 20 Jul 2006 07:31:15 +0000
parents 983fd420e86b
children 16102b9c5c4a
line wrap: on
line source

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

#
# PATHS
#

INCLUDE_DIR :=		.
OPENQ_TOP :=		../
GTK_TOP :=		../../../../win32-dev/gtk_2_0
GAIM_TOP :=		../../..
OPENQ_ROOT :=		.
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir

##
## VARIABLE DEFINITIONS
##

TARGET = openq

TYPE = PLUGIN

OPENQ_VERSION := $(shell cat $(OPENQ_TOP)/VERSION)

# Compiler Options

CFLAGS =

DEFINES = -DOPENQ_VERSION=\"$(OPENQ_VERSION)\"

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


##
## INCLUDE  MAKEFILES
##

include $(GAIM_TOP)/src/win32/global.mak

##
## INCLUDE PATHS
##

INCLUDE_PATHS += \
	-I$(OPENQ_ROOT) \
	-I$(GTK_TOP)/include \
	-I$(GTK_TOP)/include/gtk-2.0 \
	-I$(GTK_TOP)/include/glib-2.0 \
	-I$(GTK_TOP)/include/pango-1.0 \
	-I$(GTK_TOP)/include/atk-1.0 \
	-I$(GTK_TOP)/lib/glib-2.0/include \
	-I$(GTK_TOP)/lib/gtk-2.0/include \
	-I$(GAIM_TOP)/src \
	-I$(GAIM_TOP)/src/win32 \
	-I$(GAIM_TOP)

LIB_PATHS = \
	-L$(GTK_TOP)/lib \
	-L$(GAIM_TOP)/src

##
##  SOURCES, OBJECTS
##

C_SRC = \
	buddy_info.c \
	buddy_list.c \
	buddy_opt.c \
	buddy_status.c \
	char_conv.c \
	crypt.c \
	file_trans.c \
	group.c \
	group_admindlg.c \
	group_conv.c \
	group_find.c \
	group_free.c \
	group_hash.c \
	group_im.c \
	group_info.c \
	group_join.c \
	group_misc.c \
	group_network.c \
	group_opt.c \
	group_search.c \
	header_info.c \
	im.c \
	infodlg.c \
	ip_location.c \
	keep_alive.c \
	login_logout.c \
	packet_parse.c \
	qq.c \
	qq_proxy.c \
	recv_core.c \
	send_core.c \
	send_file.c \
	sendqueue.c \
	show.c \
	sys_msg.c \
	udp_proxy_s5.c \
	utils.c

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

##
## LIBRARIES
##

LIBS = \
	-lgtk-win32-2.0 \
	-lglib-2.0 \
	-lgdk-win32-2.0 \
	-lgdk_pixbuf-2.0 \
	-lgmodule-2.0 \
	-lgobject-2.0 \
	-lws2_32 \
	-lintl \
	-lgaim

##
## RULES
##

# How to make a C file

%.o: %.c
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $<

##
## TARGET DEFINITIONS
##

.PHONY: all clean

all: $(TARGET).dll

install:
	mkdir -p $(DLL_INSTALL_DIR)
	cp $(OPENQ_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR)


##
## BUILD Dependencies
##

$(GAIM_TOP)/src/gaim.lib:
	$(MAKE) -C $(GAIM_TOP)/src -f Makefile.mingw gaim.lib

##
## BUILD DLL
##

$(TARGET).dll: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib
	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll

##
## CLEAN RULES
##

clean:
	rm -rf *.o
	rm -rf $(TARGET).dll
	rm -rf $(TARGET).lib