view plugins/ssl/Makefile.mingw @ 11052:8a68c933a5dd

[gaim-migrate @ 12990] Patch #1227165 from sadrul This patch probes plugins when the plugin page is loaded in preferences. This allows users to activate newly installed plugins without restarting Gaim. The only way I can see this being a problem is if you installed a plugin which was version-compatible but binary incompatible. (For example, you're working on Gaim HEAD and change a public struct in a way that's binary backwards incompatible, build a plugin against it, install the plugin, and open the preferences page of a running copy of Gaim from before the change.) Even then, depending on the particular plugin and binary incompatibility, you might have to activate the plugin before Gaim would crash. So, unless I'm missing something, this should be safe. Let's see how it goes. committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Sun, 03 Jul 2005 05:28:57 +0000 (2005-07-03)
parents 2bc75d98af8b
children
line wrap: on
line source
#
# Makefile.mingw
#
# Description: Makefile for ssl plugin.
#

#
# PATHS
#

GTK_TOP :=		../../../win32-dev/gtk_2_0
GAIM_TOP :=		../..
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir
DLL_INSTALL_DIR :=	$(GAIM_INSTALL_DIR)/plugins
NSS_DIR :=              ../../../win32-dev/nss-3.9
NSPR_DIR :=             ../../../win32-dev/nspr-4.4.1

##
## VARIABLE DEFINITIONS
##

TARGET = ssl
TARGET_NSS = ssl-nss

NEEDED_DLLS =		$(NSS_DIR)/lib/nss3.dll \
			$(NSS_DIR)/lib/nssckbi.dll \
			$(NSS_DIR)/lib/softokn3.dll \
			$(NSS_DIR)/lib/ssl3.dll \
			$(NSPR_DIR)/lib/nspr4.dll \
			$(NSPR_DIR)/lib/plc4.dll \
			$(NSPR_DIR)/lib/plds4.dll

# Compiler Options

CFLAGS =

DEFINES =

##
## INCLUDE  MAKEFILES
##

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

##
## INCLUDE PATHS
##

INCLUDE_PATHS +=	-I. \
			-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$(GAIM_TOP)/src \
			-I$(GAIM_TOP)/src/win32 \
			-I$(GAIM_TOP) \
                        -I$(NSS_DIR)/include \
                        -I$(NSPR_DIR)/include

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

##
##  SOURCES, OBJECTS
##

C_SRC =			ssl.c

C_SRC_NSS =		ssl-nss.c


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

OBJECTS_NSS = $(C_SRC_NSS:%.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 \
			-lnss3 \
			-lnspr4 \
			-lssl3


##
## RULES
##

# How to make a C file

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

##
## TARGET DEFINITIONS
##

.PHONY: all clean

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

install:
	cp $(TARGET).dll $(DLL_INSTALL_DIR)
	cp $(TARGET_NSS).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) -o $(TARGET).dll

$(TARGET_NSS).dll: $(OBJECTS_NSS) $(GAIM_TOP)/src/gaim.lib
	$(CC) -shared $(OBJECTS_NSS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET_NSS).dll

##
## CLEAN RULES
##

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