view src/protocols/jabber/Makefile.mingw @ 4634:d19872836812

[gaim-migrate @ 4941] This will let you set up different proxy settings for different accounts. Mainly useful to the corporate users that need to connect to an internal jabber server, and still want to connect to "external" stuff through a proxy, or something along those lines. I'm sure someone will come up with another use for it. committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Sun, 02 Mar 2003 18:48:02 +0000
parents fd3880c03f0d
children bb7723f0b4b9
line wrap: on
line source

#
# Makefile.mingw
#
# Description: Makefile for win32 (mingw) version of libjabber
#

#
# PATHS
#

INCLUDE_DIR :=		.
GTK_TOP :=		../../../../win32-dev/gtk_2_0
GAIM_TOP :=		../../..
JABBER_ROOT :=		.
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir

##
## VARIABLE DEFINITIONS
##

TARGET = libjabber

# 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$(JABBER_ROOT) \
			-I$(JABBER_ROOT)/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$(GAIM_TOP)/src \
			-I$(GAIM_TOP)/src/win32 \
			-I$(GAIM_TOP)


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


##
##  SOURCES, OBJECTS
##

C_SRC =		jabber.c \
		expat.c \
		genhash.c \
		hashtable.c \
		jconn.c \
		jid.c \
		jpacket.c \
		jutil.c \
		karma.c \
		log.c \
		pool.c \
		pproxy.c \
		rate.c \
		sha.c \
		socket.c \
		str.c \
		xhash.c \
		xmlnode.c \
		xmlparse.c \
		xmlrole.c \
		xmltok.c \
		xstream.c \
		win32/posix.uname.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

# -liberty


##
## 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 $(JABBER_ROOT)/$(TARGET).dll $(DLL_INSTALL_DIR)


##
## BUILD Dependencies
##

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

##
## BUILD DLL
##

$(TARGET).def: $(OBJECTS)
	dlltool --dllname $(TARGET).dll -z $(TARGET).def \
		$(OBJECTS)

$(TARGET).base: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib
	$(CC) -mdll -o junk.tmp -Wl,--base-file,$@ $(OBJECTS) $(LIB_PATHS) $(LIBS)
	rm -rf junk.tmp

$(TARGET).exp: $(TARGET).def $(TARGET).base
	dlltool --dllname $(TARGET).dll --base-file $(TARGET).base \
		--output-exp $(TARGET).exp --def $(TARGET).def
	rm -rf $(TARGET).base

$(TARGET).dll: $(OBJECTS) $(TARGET).exp $(GAIM_TOP)/src/gaim.lib
	dlltool -D $(TARGET).dll -d $(TARGET).def -l $(TARGET).lib
	$(CC) -mdll -o $(TARGET).dll $(OBJECTS) -Wl,$(TARGET).exp $(LIB_PATHS) $(LIBS)
	rm -rf $(TARGET).exp


##
## CLEAN RULES
##

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