view src/protocols/oscar/Makefile.mingw @ 4154:3468d666d3cc

[gaim-migrate @ 4382] The buddy pounce thing bothered me. The oscar changes are basically nothing. I just like things to be clean. By the way, if you know of any projects using libfaim other than fire, please let me know. I'm muy muy curious. Messa Jar Jar Binks. I guess emailing me at mark@kingant.net is the most effective way. Squiggle squiggle committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Tue, 31 Dec 2002 02:27:21 +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