view libgaim/protocols/oscar/Makefile.mingw @ 14232:a7590884324d

[gaim-migrate @ 16914] Protocols now compile on win32. Next, everything needs to be put all together. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Sun, 20 Aug 2006 18:49:08 +0000
parents 60b1bc8dbf37
children 82373bb6a47a
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 :=		../../..
LIBGAIM_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 $(LIBGAIM_TOP)/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$(LIBGAIM_TOP) \
			-I$(LIBGAIM_TOP)/win32 \
			-I$(GAIM_TOP)


LIB_PATHS =		-L$(GTK_TOP)/lib \
			-L$(LIBGAIM_TOP)


##
##  SOURCES, OBJECTS
##

C_SRC = \
	bstream.c		\
	family_admin.c		\
	family_advert.c		\
	family_alert.c		\
	family_auth.c		\
	family_bart.c		\
	family_bos.c		\
	family_buddy.c		\
	family_chat.c		\
	family_chatnav.c	\
	family_icq.c		\
	family_icbm.c		\
	family_invite.c		\
	family_locate.c		\
	family_odir.c		\
	family_popup.c		\
	family_oservice.c	\
	family_feedbag.c	\
	family_stats.c		\
	family_translate.c	\
	family_userlookup.c	\
	flap_connection.c	\
	misc.c			\
	msgcookie.c		\
	odc.c			\
	oft.c			\
	oscar.c			\
	oscar_data.c		\
	peer.c			\
	peer_proxy.c		\
	rxhandlers.c		\
	snac.c			\
	tlv.c			\
	util.c


OBJECTS = $(C_SRC:%.c=%.o)


##
## LIBRARIES
##

LIBS =	\
			-lglib-2.0 \
			-lintl \
			-lws2_32 \
			-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
##

$(LIBGAIM_TOP)/libgaim.dll.a:
	$(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a

##
## BUILD DLL
##

$(TARGET).dll: $(OBJECTS) $(LIBGAIM_TOP)/libgaim.dll.a
	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -o $(TARGET).dll

##
## CLEAN RULES
##

clean:
	rm -rf *.o
	rm -rf $(TARGET).dll