# Makefile.mingw
# 
# Author: hermanator12002@yahoo.com
# Date 9/11/02
# Description: Top Makefile for win32 (mingw) port of Gaim
#

GAIM_SRC = ./src
GAIM_PROTOS = $(GAIM_SRC)/protocols
GAIM_PLUGINS = ./plugins
GAIM_PIXMAPS = ./pixmaps
GAIM_SOUNDS = ./sounds
GAIM_INSTALL_DIR = ./win32-install-dir
GTK_TOP = ../win32-dev/gtk_2_0
GTK_LIBS = $(GTK_TOP)/lib
GTK_BIN = $(GTK_TOP)/bin
PERL_TOP = ../win32-dev/perl56
IDLETRACK_TOP = $(GAIM_SRC)/win32/IdleTracker
GTKRC_TOP = ../win32-dev/gtkrc
OSCAR = $(GAIM_PROTOS)/oscar
YAHOO = $(GAIM_PROTOS)/yahoo
MSN = $(GAIM_PROTOS)/msn
TOC = $(GAIM_PROTOS)/toc
IRC = $(GAIM_PROTOS)/irc
JABBER = $(GAIM_PROTOS)/jabber
NAPSTER = $(GAIM_PROTOS)/napster
GG = $(GAIM_PROTOS)/gg
PO = ./po

VERSION := $(shell cat ./VERSION)

NEEDED_DLLS = 		$(GTK_BIN)/libgdk-win32-2.0-0.dll \
			$(GTK_BIN)/libglib-2.0-0.dll \
			$(GTK_BIN)/libintl-1.dll \
			$(GTK_BIN)/iconv.dll \
			$(GTK_BIN)/libgmodule-2.0-0.dll \
			$(GTK_BIN)/libgtk-win32-2.0-0.dll \
			$(GTK_BIN)/libgdk_pixbuf-2.0-0.dll \
			$(GTK_BIN)/libgobject-2.0-0.dll \
			$(GTK_BIN)/libgthread-2.0-0.dll \
			$(GTK_BIN)/libjpeg.dll \
			$(GTK_BIN)/libpng.dll \
			$(GTK_BIN)/libtiff.dll \
			$(GTK_BIN)/zlib.dll \
			$(GTK_BIN)/libpango-1.0-0.dll \
			$(GTK_BIN)/libpangoft2-1.0-0.dll \
			$(GTK_BIN)/libpangowin32-1.0-0.dll \
			$(GTK_BIN)/libatk-1.0-0.dll \
			$(PERL_TOP)/perl56.dll \
			$(IDLETRACK_TOP)/idletrack.dll

# For Gtk 2.0.3
#			$(GTK_BIN)/libjpeg6b.dll \
#			$(GTK_BIN)/libpng-3.dll \
#			$(GTK_BIN)/libtiff.dll \
#			$(GTK_BIN)/libz.dll \

# For Gtk 2.0.6
#			$(GTK_BIN)/libjpeg.dll \
#			$(GTK_BIN)/libpng.dll \
#			$(GTK_BIN)/libtiff.dll \
#			$(GTK_BIN)/zlib.dll \


SOUNDS =		$(GAIM_SOUNDS)/leave.wav \
			$(GAIM_SOUNDS)/redalert.wav \
			$(GAIM_SOUNDS)/receive.wav \
			$(GAIM_SOUNDS)/send.wav \
			$(GAIM_SOUNDS)/arrive.wav


##
## Don't forget to change STATIC_PROTO_INIT, in config.h.mingw if you 
## change the status of a protocol (static/plugin)
##

OSCAR_TYPE = PLUGIN
YAHOO_TYPE = PLUGIN
MSN_TYPE = PLUGIN
TOC_TYPE = PLUGIN
IRC_TYPE = PLUGIN
JABBER_TYPE = PLUGIN
NAPSTER_TYPE = PLUGIN
GG_TYPE = PLUGIN

all:
	cp config.h.mingw config.h
	$(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw
	$(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw
	$(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw
	$(MAKE) TYPE='$(TOC_TYPE)' -C $(TOC) -f Makefile.mingw
	$(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw
	$(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw
	$(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw
	$(MAKE) -C $(GAIM_SRC) -f Makefile.mingw
	$(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw


install: all
	mkdir -p $(GAIM_INSTALL_DIR)/plugins
	mkdir -p $(GAIM_INSTALL_DIR)/sounds/gaim
	$(MAKE) -C $(GAIM_PIXMAPS) -f Makefile.mingw install
	$(MAKE) -C $(PO) -f Makefile.mingw install
	$(MAKE) -C $(GAIM_SRC) -f Makefile.mingw install
	$(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw install
	$(MAKE) TYPE='$(OSCAR_TYPE)' -C $(OSCAR) -f Makefile.mingw install
	$(MAKE) TYPE='$(YAHOO_TYPE)' -C $(YAHOO) -f Makefile.mingw install
	$(MAKE) TYPE='$(MSN_TYPE)' -C $(MSN) -f Makefile.mingw install
	$(MAKE) TYPE='$(TOC_TYPE)' -C $(TOC) -f Makefile.mingw install
	$(MAKE) TYPE='$(IRC_TYPE)' -C $(IRC) -f Makefile.mingw install
	$(MAKE) TYPE='$(JABBER_TYPE)' -C $(JABBER) -f Makefile.mingw install
	$(MAKE) TYPE='$(GG_TYPE)' -C $(GG) -f Makefile.mingw install
	cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR)
	cp $(SOUNDS) $(GAIM_INSTALL_DIR)/sounds/gaim
	mkdir -p $(GAIM_INSTALL_DIR)/lib/gtk-2.0
	cp -R $(GTK_LIBS)/gtk-2.0/2.2.0 $(GAIM_INSTALL_DIR)/lib/gtk-2.0
	cp -R $(GTK_LIBS)/pango $(GAIM_INSTALL_DIR)/lib
	cp -R $(GTK_TOP)/etc $(GAIM_INSTALL_DIR)
	cp $(GAIM_SRC)/win32/themes/gtkrc $(GAIM_INSTALL_DIR)/etc/gtk-2.0

installer:
	makensis.exe /DGAIM_VERSION="$(VERSION)" gaim-installer.nsi

clean:
	$(MAKE) -C $(PO) -f Makefile.mingw clean
	$(MAKE) -C $(OSCAR) -f Makefile.mingw clean
	$(MAKE) -C $(YAHOO) -f Makefile.mingw clean
	$(MAKE) -C $(MSN) -f Makefile.mingw clean
	$(MAKE) -C $(TOC) -f Makefile.mingw clean
	$(MAKE) -C $(IRC) -f Makefile.mingw clean
	$(MAKE) -C $(JABBER) -f Makefile.mingw clean
	$(MAKE) -C $(GG) -f Makefile.mingw clean
	$(MAKE) -C $(GAIM_SRC) -f Makefile.mingw clean
	$(MAKE) -C $(GAIM_PLUGINS) -f Makefile.mingw clean
	rm -rf config.h $(GAIM_INSTALL_DIR)
	rm -rf gaim*.exe
