view plugins/ssl/Makefile.mingw @ 7863:6ee2fe9bb74e

[gaim-migrate @ 8517] "Patch 2: ssl-plugins.patch Other plugins might need to use the NSS/GNUTLS libraries, which shouldn't be initialized multiple times in the same thread (at least NSS says this is a bad thing to do). This patch enables other plugins to load either the NSS or GNUTLS plugin, and a) have them init on load, rather when sslconn inits them b) have them not stomp on each other if the other one has already loaded." --Bill Tompkins (obobo) committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Sun, 14 Dec 2003 16:46:28 +0000
parents c92dbccd7448
children 2bc75d98af8b
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.8
NSPR_DIR :=             ../../../win32-dev/nspr-4.3

##
## 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