view plugins/ssl/Makefile.mingw @ 13035:7da470b0c424

[gaim-migrate @ 15393] Everyone says plugins shouldn't include internal.h. So, why do we install it? In keeping with my theory that diffs are the easiest way to explain what I'm thinking, I'm committing this. If it's bogus, feel free to revert or make me do so. committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Wed, 25 Jan 2006 06:39:02 +0000
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