view plugins/tcl/Makefile.mingw @ 9953:d908907d9441

[gaim-migrate @ 10849] grim | patch -p0 && cvs commit committer: Tailor Script <tailor@pidgin.im>
author Nathan Walp <nwalp@pidgin.im>
date Sun, 05 Sep 2004 06:29:51 +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