view Makefile.mingw @ 4469:d76095396a0e

[gaim-migrate @ 4744] Phase 2 of the conversation rewrite! Did you think I was done? Okay everybody, the prefs page was slightly redesigned. Not much, though. It needs an overhaul, and still, not everything works.. What we have now is: Conversations | |- IMs |- Chats `- Tabs But that's not the good part of this patch. Oh no, not close. You see, in Conversations, we now have a "Placement" drop-down box. Though this prefs page is ugly and will eventually be redesigned, this gives you the opportunity to set one of a number of different types of conversation placement options. The defaults are: - Last created window: Adds the new conversation to the last created window, like how things have been lately. - New window: Adds the new conversation to a brand new window, every time. Tabs are still there, so you can drag them between windows if you want to manually group them. - By group: This is my new favorite. This will put the new conversation in whatever window it finds first that has another member from that same group on your buddy list. If it doesn't find one, it creates a new window. If the person you IM'd or the person who IM'd you is not on your list, it gets put in a window with other people not on your list. These are the only ones implemented, but don't think you're limited to that. You see, we have new API functions for registering these Conversation Placement functions. All a plugin would need to do is to write a function, take into account OPT_CONVO_COMBINE (oh yeah, "Show IMs and chats in same tabbed window" works again), make sure the conversation is added _somewhere_, and then just register that function. If the plugin is loaded, the user can select it from the existing drop-down box. Cool, huh? Make sure to unregister the function when the plugin is unloaded. Have fun. committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Thu, 30 Jan 2003 09:22:15 +0000
parents dcc6c130c6d9
children 741a18f2fb23
line wrap: on
line source

# 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
IDLETRACKER_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 \
			$(IDLETRACKER_TOP)/IdleTrac.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