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

GAIM_TOP := ../../..
include $(GAIM_TOP)/libgaim/win32/global.mak

TARGET = openq
OPENQ_TOP := ..
TYPE = PLUGIN
OPENQ_VERSION := $(shell cat $(OPENQ_TOP)/VERSION)
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_PLUGINS_DIR)
endif
endif

##
## INCLUDE PATHS
##
INCLUDE_PATHS += \
	-I$(OPENQ_ROOT) \
	-I$(GTK_TOP)/include \
	-I$(GTK_TOP)/include/glib-2.0 \
	-I$(GTK_TOP)/lib/glib-2.0/include \
	-I$(GAIM_LIB_TOP) \
	-I$(GAIM_LIB_TOP)/win32 \
	-I$(GAIM_TOP)

LIB_PATHS = \
	-L$(GTK_TOP)/lib \
	-L$(GAIM_LIB_TOP)

##
##  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_conv.c \
	group_find.c \
	group_free.c \
	group_internal.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 \
	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 = \
	-lglib-2.0 \
	-lws2_32 \
	-lintl \
	-lgaim

include $(GAIM_COMMON_RULES)

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

all: $(TARGET).dll

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

$(OBJECTS): $(GAIM_CONFIG_H)

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

##
## CLEAN RULES
##
clean:
	rm -rf $(OBJECTS)
	rm -rf $(TARGET).dll

include $(GAIM_COMMON_TARGETS)
