view plugins/tcl/Makefile.mingw @ 13035:7da470b0c424

[gaim-migrate @ 15393] Everyone says plugins shouldn't include internal.h. So, why do we install it? In keeping with my theory that diffs are the easiest way to explain what I'm thinking, I'm committing this. If it's bogus, feel free to revert or make me do so. committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Wed, 25 Jan 2006 06:39:02 +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