view src/protocols/oscar/Makefile.mingw @ 4230:9f729d6d88a6

[gaim-migrate @ 4475] This is 128KB of raw kickassyness. AKA ICQ SSI. I've rewritten all the important parts of ssi.c. Things should be better. One thing I like a lot is that gaim will store the alias you assign to buddies in your server list for both AIM and ICQ. WinICQ supports this, but WinAIM doesn't. However, it doesn't seem to interfere with WinAIM, and Gaim can still use it. I dunno, I just think it's neat. Anyway, go nuts. Let me know if something doesn't work, because that's bad. committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 07 Jan 2003 21:19:05 +0000
parents 07283934dedd
children 2a2d6d21f1d7
line wrap: on
line source

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

#
# PATHS
#

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

##
## VARIABLE DEFINITIONS
##

TARGET = liboscar

# 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$(OSCAR_ROOT) \
			-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 =			admin.c		\
			adverts.c	\
			auth.c 		\
			bos.c 		\
			bstream.c	\
			buddylist.c	\
			chat.c		\
			chatnav.c	\
			conn.c		\
			email.c		\
			ft.c		\
			icq.c		\
			im.c		\
			info.c		\
			invite.c	\
			meta.c		\
			misc.c		\
			msgcookie.c	\
			newsearch.c	\
			popups.c	\
			rxhandlers.c	\
			rxqueue.c	\
			search.c	\
			service.c	\
			snac.c		\
			ssi.c		\
			stats.c		\
			tlv.c		\
			translate.c	\
			txqueue.c	\
			util.c		\
			oscar.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 -lintl -lws2_32 -liberty -lgaim


##
## 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 $(OSCAR_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 --export-all-symbols $(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 $(TARGET).dll
	rm -rf $(TARGET).lib
	rm -rf $(TARGET).def