view src/protocols/gg/Makefile.mingw @ 12919:248b8b39c671

[gaim-migrate @ 15272] Replace GaimBlistNodeAction with the more generic GaimMenuAction, this is in preparation for letting the chat room user list have extensible menus like the blist entries do. (I know it's not exactly the prettiest, and the callback isn't exactly type-safe, when we eventually gobjectify everything we can get some safety back by using (GObject, gpointer) but that's for later.) I'm planning to look into merging GaimPluginActions into GaimMenuActions as well. committer: Tailor Script <tailor@pidgin.im>
author Etan Reisner <pidgin@unreliablesource.net>
date Tue, 17 Jan 2006 23:22:19 +0000
parents 3c536224f0d0
children fa7313d125ac
line wrap: on
line source

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

#
# PATHS
#

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

##
## VARIABLE DEFINITIONS
##

TARGET = libgg

# Compiler Options

CFLAGS = -include win32dep.h

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$(GG_ROOT) \
			-I$(GG_ROOT)/lib \
			-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 =	\
	lib/common.c \
	lib/events.c \
	lib/http.c \
	lib/libgadu.c \
	lib/obsolete.c \
	lib/pubdir.c \
	lib/pubdir50.c \
	buddylist.c \
	confer.c \
	gg.c \
	search.c \
	utils.c

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


##
## LIBRARIES
##

LIBS =	\
			-lglib-2.0 \
			-lgmodule-2.0 \
			-lgobject-2.0 \
			-lintl \
			-lgaim \
			-lws2_32


##
## 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 $(GG_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).dll: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib
	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--out-implib,$(TARGET).lib -o $(TARGET).dll

##
## CLEAN RULES
##

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