view plugins/perl/Makefile.mingw @ 13662:b198d0c26b83

[gaim-migrate @ 16064] Fix Coverity CID 26: A potential crash when the server sends us an incoming channel 2 ICBM of the ICQ server relay type but does not send the data normally associated with such an ICBM. This should never happen. Fix Coverity CID 45: A potential crash when the server sends us an incoming channel 2 ICBM but does not send the data normally associated with such an ICBM. This should never happen. Fix Coverity CID 47: A 1 byte memleak when signing on using the old blist method and not when using SSI. This never happens. As far as I can tell it has been like this since the beginning of time. It's a weird memleak. Fix Coverity CID 57: A memleak of the length of a screen name when searching for screen names by email address and the server returns a malformed SNAC. This should never happen. Fix Coverity CID 59: A memleak of the length of an ICBM when _parsing_ an outgoing ICBM. I don't believe this ever happens, and I suspect the code exists from a time when libfaim was perhaps being written so that it could be used in an AIM server (in addition to just a client). I should probably remove the function. Fix Coverity CID 132: A memleak of the length of the email address when searching for screen names by email address. Fix Coverity CID 146: Check the return value of read() and print a warning to the debug window. This code is only used when AOL enables their crazy AIM executable hash value stuff, which hasn't happened in 5 years or so. Fix Coverity CID 191: Comment out some code that isn't used. Fix Coverity CID 192: Get rid of a harmless assignment to a variable that wasn't used. Fix Coverity CID 194: Comment out some variables and code that isn't used. Fix Coverity CID 198: Get rid of a variable that wasn't used in gaim_ssi_parselist(). committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Wed, 19 Apr 2006 03:31:47 +0000
parents 6dcfec6f2f7c
children
line wrap: on
line source

#
# Makefile.mingw
#
# Description: Makefile for perl plugin loader plugin.
#

#
# PATHS
#

GTK_TOP :=		../../../win32-dev/gtk_2_0
GAIM_TOP :=		../..
PERL_LIB_DIR :=		../../../win32-dev/perl58
PERL_INCLUDE :=         $(PERL_LIB_DIR)/CORE
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir
DLL_INSTALL_DIR :=	$(GAIM_INSTALL_DIR)/plugins

##
## VARIABLE DEFINITIONS
##

TARGET = perl

CC := gcc.exe

# Compiler Options

CFLAGS =

DEFINES =

##
## INCLUDE  MAKEFILES
##

include $(GAIM_TOP)/src/win32/global.mak

# Perl headers with /* /* */ type comments.. Turn off warnings.
CFLAGS += -Wno-comment

##
## INCLUDE PATHS
##

INCLUDE_PATHS +=	-I. \
			-I$(GAIM_TOP) \
			-I$(GAIM_TOP)/src \
			-I$(GAIM_TOP)/src/win32 \
			-I$(GTK_TOP)/include \
			-I$(GTK_TOP)/include/gtk-2.0 \
			-I$(GTK_TOP)/include/glib-2.0 \
			-I$(GTK_TOP)/include/pango-1.0 \
			-I$(GTK_TOP)/include/atk-1.0 \
			-I$(GTK_TOP)/lib/glib-2.0/include \
			-I$(GTK_TOP)/lib/gtk-2.0/include \
			-I$(PERL_INCLUDE)




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


##
##  SOURCES, OBJECTS
##

C_SRC =			perl.c \
			perl-common.c \
			perl-handlers.c


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


##
## LIBRARIES
##

LIBS =			-lgtk-win32-2.0 \
			-lglib-2.0 \
			-lgdk-win32-2.0 \
			-lgmodule-2.0 \
			-lgobject-2.0 \
			-lws2_32 \
			-lintl \
			-lgaim \
			-lperl58


##
## RULES
##

# How to make a C file

%.o: %.c
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $<

##
## TARGET DEFINITIONS
##

.PHONY: all clean

all: $(TARGET).dll
	$(MAKE) -C ./common -f Makefile.mingw

install:
	cp $(TARGET).dll $(DLL_INSTALL_DIR)
	$(MAKE) -C ./common -f Makefile.mingw install

##
## BUILD Dependencies
##

$(GAIM_TOP)/src/gaim.lib:
	$(MAKE) -C $(GAIM_TOP)/src -f Makefile.mingw gaim.lib

##
## BUILD DLL
##

$(TARGET).dll: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib
	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS)  -Wl,--export-all-symbols -Wl,--out-implib,$(TARGET).lib -o $(TARGET).dll


##
## CLEAN RULES
##

clean:
	rm -rf *.o
	rm -rf $(TARGET).dll $(TARGET).lib
	$(MAKE) -C ./common -f Makefile.mingw clean