libpurple/plugins/perl/common/Makefile.mingw

Wed, 13 May 2009 20:29:03 +0000

author
Marcus Lundblad <malu@pidgin.im>
date
Wed, 13 May 2009 20:29:03 +0000
changeset 27110
05ca719b901b
parent 23985
a8c308734700
child 27665
00196a586c45
permissions
-rw-r--r--

Support custom smileys in MUCs (when all participants support BoB and a maximum
of 10 participants are in the chat).
Always announce support for BoB, since disable custom smileys will still turn
off fetching them, and BoB can be used for other purposes further on.

#
# Makefile.mingw
#
# Description: Makefile for Purple perl module.
#

PIDGIN_TREE_TOP := ../../../..
GCCWARNINGS := -Wno-comment -Waggregate-return -Wcast-align -Wdeclaration-after-statement -Werror-implicit-function-declaration -Wextra -Wno-sign-compare -Wno-unused-parameter -Winit-self -Wmissing-declarations -Wmissing-prototypes -Wpointer-arith -Wundef -Wno-unused
include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak

TARGET = Purple
AUTOSPLIT = lib/auto/Purple/autosplit.ix
EXTUTILS ?= C:/perl/lib/ExtUtils
PERL_PLUGIN_TOP := ..

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

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

##
##  SOURCES, OBJECTS
##
XS_FILES =		Account.xs \
				AccountOpts.xs \
				BuddyIcon.xs \
				BuddyList.xs \
				Cipher.xs \
				Cmds.xs \
				Certificate.xs \
				Connection.xs \
				Conversation.xs \
				Core.xs \
				Debug.xs \
				FT.xs \
				Idle.xs \
				Purple.xs \
				ImgStore.xs \
				Log.xs \
				Network.xs \
				Notify.xs \
				Plugin.xs \
				PluginPref.xs \
				Pounce.xs \
				Prefs.xs \
				Privacy.xs \
				Proxy.xs \
				Prpl.xs \
				Request.xs \
				Roomlist.xs \
				SSLConn.xs \
				SavedStatuses.xs \
				Server.xs \
				Signal.xs \
				Smiley.xs \
				Sound.xs \
				Status.xs \
				Stringref.xs \
				Util.xs \
				Whiteboard.xs \
				XMLNode.xs

#FALLBACKS =	const-c.inc const-xs.inc
C_FILES = $(XS_FILES:%.xs=%.c)
OBJECTS = $(C_FILES:%.c=%.o)

##
## LIBRARIES
##
LIBS =			-lperl510 \
			-lperl \
			-lpurple \
			-lglib-2.0

include $(PIDGIN_COMMON_RULES)

%.inc:
	cp fallback/$@ ./

##
## TARGETS
##
.PHONY: all install clean

all: $(TARGET).dll $(AUTOSPLIT)

install: all
	rm -rf $(PURPLE_INSTALL_PERLMOD_DIR)
	cp -R lib $(PURPLE_INSTALL_PERLMOD_DIR)
	cp $(TARGET).dll $(PURPLE_INSTALL_PERLMOD_DIR)

$(C_FILES): $(PURPLE_CONFIG_H)

$(AUTOSPLIT):
	mkdir -p ./lib/auto
	cp Purple.pm ./lib
	$(PERL) -MAutoSplit -e 'autosplit("lib/Purple.pm")'

$(TARGET).dll: $(PURPLE_DLL).a $(PURPLE_PERL_DLL).a $(FALLBACKS) $(OBJECTS)
	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) -o $(TARGET).dll

##
## CLEAN
##
clean:
	rm -rf $(TARGET).dll $(FALLBACKS) lib
	rm -f *.o $(C_FILES)

include $(PIDGIN_COMMON_TARGETS)

mercurial