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

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

DISCO_PLUGIN := ./disco
GTKPERL_PLUGIN := ./perl
TICKER_PLUGIN := ./ticker
TRANSPARENCY_PLUGIN := ./win32/transparency
WINPREFS_PLUGIN := ./win32/winprefs

.SUFFIXES:
.SUFFIXES: .c .dll

##
## INCLUDE PATHS
##
INCLUDE_PATHS +=	\
			-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)/include/cairo \
			-I$(GTK_TOP)/lib/glib-2.0/include \
			-I$(GTK_TOP)/lib/gtk-2.0/include \
			-I$(PIDGIN_TREE_TOP) \
			-I$(PURPLE_TOP) \
			-I$(PURPLE_TOP)/win32 \
			-I$(PIDGIN_TOP) \
			-I$(PIDGIN_TOP)/win32

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

##
## LIBRARIES
##
LIBS =			-lgtk-win32-2.0 \
			-lglib-2.0 \
			-lgdk-win32-2.0 \
			-lgobject-2.0 \
			-lgmodule-2.0 \
			-lgdk_pixbuf-2.0 \
			-lpango-1.0 \
			-lintl \
			-lws2_32 \
			-lpurple \
			-lpidgin

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

all: plugins
	$(MAKE) -C $(DISCO_PLUGIN) -f $(MINGW_MAKEFILE)
	$(MAKE) -C $(GTKPERL_PLUGIN) -f $(MINGW_MAKEFILE)
	$(MAKE) -C $(TICKER_PLUGIN) -f $(MINGW_MAKEFILE)
	$(MAKE) -C $(TRANSPARENCY_PLUGIN) -f $(MINGW_MAKEFILE)
	$(MAKE) -C $(WINPREFS_PLUGIN) -f $(MINGW_MAKEFILE)

install: all $(PIDGIN_INSTALL_PLUGINS_DIR)
	$(MAKE) -C $(DISCO_PLUGIN) -f $(MINGW_MAKEFILE) install
	$(MAKE) -C $(GTKPERL_PLUGIN) -f $(MINGW_MAKEFILE) install
	$(MAKE) -C $(TICKER_PLUGIN) -f $(MINGW_MAKEFILE) install
	$(MAKE) -C $(TRANSPARENCY_PLUGIN) -f $(MINGW_MAKEFILE) install
	$(MAKE) -C $(WINPREFS_PLUGIN) -f $(MINGW_MAKEFILE) install
	cp *.dll $(PIDGIN_INSTALL_PLUGINS_DIR)

.c.dll:
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@.o -c $<
	$(CC) -shared $@.o $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $@

plugins: \
		convcolors.dll \
		extplacement.dll \
		gtkbuddynote.dll \
		history.dll \
		iconaway.dll \
		markerline.dll \
		notify.dll \
		pidginrc.dll \
		relnot.dll \
		sendbutton.dll \
		spellchk.dll \
		timestamp_format.dll \
		timestamp.dll \
		xmppconsole.dll

##
## CLEAN RULES
##
clean:
	rm -f *.o *.dll
	$(MAKE) -C $(DISCO_PLUGIN) -f $(MINGW_MAKEFILE) clean
	$(MAKE) -C $(GTKPERL_PLUGIN) -f $(MINGW_MAKEFILE) clean
	$(MAKE) -C $(TICKER_PLUGIN) -f $(MINGW_MAKEFILE) clean
	$(MAKE) -C $(TRANSPARENCY_PLUGIN) -f $(MINGW_MAKEFILE) clean
	$(MAKE) -C $(WINPREFS_PLUGIN) -f $(MINGW_MAKEFILE) clean

include $(PIDGIN_COMMON_TARGETS)
