view src/protocols/silc/Makefile.mingw @ 13900:47c3d00713af

[gaim-migrate @ 16386] sf patch #1497232, from Jono Cole, "Segfault in bonjour when another protocol is logged in" "The Bonjour protocol plugin was causing Gaim to segfault on receiving a message when other protocols were logged in. This is dependant on the active buddies in the buddy list and has been noticed the most when msn is used." committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sat, 01 Jul 2006 18:04:55 +0000
parents 88c75956dbbf
children
line wrap: on
line source

#
# Makefile.mingw
#
# Description: Makefile for win32 (mingw) version of libsilc protocol plugin
#

#
# PATHS
#

INCLUDE_DIR :=		.
GTK_TOP :=		../../../../win32-dev/gtk_2_0
GAIM_TOP :=		../../..
SILC_TOP :=		.
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir
SILC_TOOLKIT :=		../../../../win32-dev/silc-toolkit-1.0.2

##
## VARIABLE DEFINITIONS
##

TARGET = libsilc

NEEDED_DLLS =		$(SILC_TOOLKIT)/lib/silc.dll \
			$(SILC_TOOLKIT)/lib/silcclient.dll

# Compiler Options

CFLAGS =

DEFINES =

# Static or Plugin... 
ifeq ($(TYPE),STATIC)
  DEFINES += -DSTATIC
  DLL_INSTALL_DIR =	$(GAIM_INSTALL_DIR)
else
ifeq ($(TYPE),PLUGIN)
  DLL_INSTALL_DIR =	$(GAIM_INSTALL_DIR)/plugins
endif
endif


##
## INCLUDE  MAKEFILES
##

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

##
## INCLUDE PATHS
##

INCLUDE_PATHS +=	-I$(SILC_TOP) \
			-I$(GTK_TOP)/include \
			-I$(GTK_TOP)/include/glib-2.0 \
			-I$(GTK_TOP)/lib/glib-2.0/include \
			-I$(GAIM_TOP)/src \
			-I$(GAIM_TOP)/src/win32 \
			-I$(GAIM_TOP) \
			-I$(SILC_TOOLKIT)/include


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


##
##  SOURCES, OBJECTS
##

C_SRC =			silc.c \
			buddy.c \
			chat.c \
			ft.c \
			ops.c \
			pk.c \
			util.c \
			wb.c


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


##
## LIBRARIES
##

LIBS = \
			-lglib-2.0 \
			-lws2_32 \
			-lintl \
			-lgaim \
			-lsilc \
			-lsilcclient


##
## RULES
##

# How to make a C file

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

##
## TARGET DEFINITIONS
##

.PHONY: all clean

all: $(TARGET).dll

install:
	cp $(SILC_TOP)/$(TARGET).dll $(DLL_INSTALL_DIR)
	cp $(NEEDED_DLLS) $(GAIM_INSTALL_DIR)


##
## 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,--image-base,0x64000000 -o $(TARGET).dll

##
## CLEAN RULES
##

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