view libpurple/Makefile.mingw @ 28839:57137d32a131

Fold the ADL 241 error handler into the base ADL error handler since it technically would catch any "241" regardless of whether it was triggered by an ADL.
author Elliott Sales de Andrade <qulogic@pidgin.im>
date Fri, 30 Oct 2009 02:50:07 +0000
parents 75b473f216f2
children 89bbb4360df2 fb2c0674e828
line wrap: on
line source

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

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

TARGET = libpurple
NEEDED_DLLS = $(LIBXML2_TOP)/bin/libxml2.dll

##
## INCLUDE PATHS
##
INCLUDE_PATHS +=	\
			-I$(PURPLE_TOP) \
			-I$(PURPLE_TOP)/win32 \
			-I$(PIDGIN_TREE_TOP) \
			-I$(GTK_TOP)/include \
			-I$(GTK_TOP)/include/glib-2.0 \
			-I$(GTK_TOP)/lib/glib-2.0/include \
			-I$(LIBXML2_TOP)/include

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

##
##  SOURCES, OBJECTS
##
C_SRC =	\
			account.c \
			accountopt.c \
			blist.c \
			buddyicon.c \
			certificate.c \
			cipher.c \
			circbuffer.c \
			cmds.c \
			connection.c \
			conversation.c \
			core.c \
			debug.c \
			dnsquery.c \
			dnssrv.c \
			eventloop.c \
			ft.c \
			idle.c \
			imgstore.c \
			log.c \
			media.c \
			mediamanager.c \
			mime.c \
			nat-pmp.c \
			network.c \
			notify.c \
			ntlm.c \
			plugin.c \
			pluginpref.c \
			pounce.c \
			prefs.c \
			privacy.c \
			proxy.c \
			prpl.c \
			request.c \
			roomlist.c \
			savedstatuses.c \
			server.c \
			signals.c \
			smiley.c \
			sound-theme-loader.c \
			sound-theme.c \
			sound.c \
			sslconn.c \
			status.c \
			stringref.c \
			stun.c \
			theme-loader.c \
			theme-manager.c \
			theme.c \
			upnp.c \
			util.c \
			value.c \
			version.c \
			whiteboard.c \
			xmlnode.c \
			win32/giowin32.c \
			win32/libc_interface.c \
			win32/win32dep.c

RC_SRC = win32/libpurplerc.rc

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

##
## LIBRARIES
##
LIBS =	\
		-lglib-2.0 \
		-lgthread-2.0 \
		-lgobject-2.0 \
		-lgmodule-2.0 \
		-lintl \
		-lws2_32 \
		-lxml2

include $(PIDGIN_COMMON_RULES)

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

all: $(TARGET).dll
	$(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE)
	$(MAKE) -C $(PURPLE_PLUGINS_TOP) -f $(MINGW_MAKEFILE)

install_shallow: $(PURPLE_INSTALL_DIR) $(TARGET).dll
	cp $(TARGET).dll $(PURPLE_INSTALL_DIR)
	cp $(NEEDED_DLLS) $(PURPLE_INSTALL_DIR)

install: install_shallow all
	$(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE) install
	$(MAKE) -C $(PURPLE_PLUGINS_TOP) -f $(MINGW_MAKEFILE) install

./win32/libpurplerc.rc: ./win32/libpurplerc.rc.in $(PIDGIN_TREE_TOP)/VERSION
	sed -e 's/@PURPLE_VERSION@/$(PURPLE_VERSION)/g' \
	    $@.in > $@

$(OBJECTS): $(PURPLE_CONFIG_H) $(PURPLE_VERSION_H) $(PURPLE_PURPLE_H)

$(TARGET).dll $(TARGET).dll.a: $(OBJECTS)
	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--output-def,$(TARGET).def,--out-implib,$(TARGET).dll.a -o $(TARGET).dll

##
## CLEAN RULES
##
clean:
	rm -f $(OBJECTS) $(RC_SRC) $(PURPLE_VERSION_H) $(PURPLE_PURPLE_H)
	rm -f $(TARGET).dll $(TARGET).dll.a $(TARGET).def
	$(MAKE) -C $(PURPLE_PROTOS_TOP) -f $(MINGW_MAKEFILE) clean
	$(MAKE) -C $(PURPLE_PLUGINS_TOP) -f $(MINGW_MAKEFILE) clean

include $(PIDGIN_COMMON_TARGETS)