view plugins/perl/common/Makefile.mingw @ 10345:2e01c503aa4f

[gaim-migrate @ 11556] Patch 1078151 from Felipe Contreras to fix some more MSN bugs: "User Dislpay messages, and other less used, did not set an slpcall, so the callback that should not be called, was called (in some very special cases)." ... "Here it goes the real real one, as far as I can tell. Cleaning + organizing + documentation + hard bug fix = big patch." -- Felipe Contreras I also fixed drag-and-drop to conversation window file transfers (which I had broken when I fixed some other dnd thing), made the debug output of the autoreconnect plugin more useful, and stopped the message notification plugin notifying you for messages sent by ignored users. committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Sat, 11 Dec 2004 20:01:58 +0000
parents f1fe68ef00c7
children 6dcfec6f2f7c
line wrap: on
line source

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

TARGET = Gaim
AUTOSPLIT = lib/auto/Gaim/autosplit.ix

##
## TOOLS
##

CC = gcc
PERL = /cygdrive/c/perl/bin/perl

##
## PATHS
##

EXTUTILS := C:/perl/lib/ExtUtils
GAIM_TOP := ../../..
GTK_TOP := ../../../../win32-dev/gtk_2_0
PERL_TOP := ../../../../win32-dev/perl58
PERL_PLUGIN_TOP := ..
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir
PERLMOD_INSTALL_DIR :=	$(GAIM_INSTALL_DIR)/perlmod


INCLUDE_PATHS =		-I. \
			-I$(GAIM_TOP) \
			-I$(GAIM_TOP)/src \
			-I$(GTK_TOP)/include/glib-2.0 \
			-I$(GTK_TOP)/lib/glib-2.0/include \
			-I$(PERL_TOP)/CORE

LIB_PATHS = 		-L$(PERL_TOP) \
			-L$(PERL_PLUGIN_TOP) \
			-L$(GAIM_TOP)/src \
			-L$(GTK_TOP)/lib


##
##  SOURCES, OBJECTS
##

XS_FILES =		Account.xs \
			BuddyList.xs \
			BuddyList_Buddy.xs \
			BuddyList_Chat.xs \
			BuddyList_Group.xs \
			Connection.xs \
			ConvWindow.xs \
			Conversation.xs \
			Conversation_Chat.xs \
			Conversation_IM.xs \
			Gaim.xs

FALLBACKS =		const-c.inc const-xs.inc

C_FILES = $(XS_FILES:%.xs=%.c)

OBJECTS = $(C_FILES:%.c=%.o)

##
## LIBRARIES
##

LIBS =			-lperl58 \
			-lperl \
			-lgaim \
			-lglib-2.0

##
## RULES
##

# How to make a C file
%.o: %.c
	$(CC) $(CFLAGS) $(INCLUDE_PATHS) $(DEFINES) -c $< -o $@

# How to make a XS file
%.c: %.xs
	$(PERL) $(EXTUTILS)/xsubpp -typemap $(EXTUTILS)/typemap -typemap typemap $< > $@

%.inc:
	cp fallback/$@ ./

##
## TARGETS
##

.PHONY: all clean

all: $(TARGET).dll $(AUTOSPLIT)
	
install:
	rm -rf $(PERLMOD_INSTALL_DIR)
	cp -R lib $(PERLMOD_INSTALL_DIR)
	cp $(TARGET).dll $(PERLMOD_INSTALL_DIR)
	
$(AUTOSPLIT): Gaim.pm
	mkdir -p ./lib/auto
	cp Gaim.pm ./lib
	$(PERL) -MAutoSplit -e 'autosplit("lib/Gaim.pm")'

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

##
## CLEAN
##

clean:
	rm -rf *.o $(TARGET).dll $(FALLBACKS) lib