view plugins/tcl/Makefile.mingw @ 8117:e280d73ed07f

[gaim-migrate @ 8821] Since Gaim now shows plugin descriptions, this alters the Tcl API to collect them at registration time. NOTE THAT THIS CHANGES THE TCL API. Not that anyone uses it, but now I won't forget. Plugin registration will have to be changed in existing plugins, and a summary added ... see the appropriate part of the TCL-HOWTO for details. committer: Tailor Script <tailor@pidgin.im>
author Ethan Blanton <elb@pidgin.im>
date Thu, 15 Jan 2004 23:11:46 +0000
parents 409f7f167c98
children 70197e8ac15c
line wrap: on
line source

#
# Makefile.mingw
#
# Description: Makefile for tcl plugin loader plugin.
#

#
# PATHS
#

GTK_TOP :=		../../../win32-dev/gtk_2_0
GAIM_TOP :=		../..
TCL_LIB_DIR :=		../../../win32-dev/tcl-8.4.5
TCL_INC_DIR :=		$(TCL_LIB_DIR)/include
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir
DLL_INSTALL_DIR :=	$(GAIM_INSTALL_DIR)/plugins

##
## VARIABLE DEFINITIONS
##

TARGET = tcl

CC = gcc.exe

# Compiler Options

CFLAGS =

DEFINES = -DHAVE_TK -DUSE_TCL_STUBS -DUSE_TK_STUBS

##
## INCLUDE  MAKEFILES
##

include $(GAIM_TOP)/src/win32/global.mak

##
## INCLUDE PATHS
##

INCLUDE_PATHS +=	-I. \
			-I$(GAIM_TOP) \
			-I$(GAIM_TOP)/src \
			-I$(GAIM_TOP)/src/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$(TCL_INC_DIR)


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


##
##  SOURCES, OBJECTS
##

C_SRC =			tcl.c \
			tcl_cmds.c \
			tcl_glib.c \
			tcl_signals.c \
			tcl_win32.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 \
			-ltclstub84 \
			-ltkstub84


##
## 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: $(TARGET).dll
	cp $(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) -o $(TARGET).dll


##
## CLEAN RULES
##

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