# HG changeset patch # User Herman Bloggs # Date 1053532381 0 # Node ID 95e1e9ed82cce72b08e1f9cabb6f1e20b8c8f597 # Parent 445f6c693cc0626bd0000af2babd77d38e620ba3 [gaim-migrate @ 5859] Initial import committer: Tailor Script diff -r 445f6c693cc0 -r 95e1e9ed82cc plugins/perl/Makefile.mingw --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/perl/Makefile.mingw Wed May 21 15:53:01 2003 +0000 @@ -0,0 +1,147 @@ +# +# Makefile.mingw +# +# Description: Makefile for perl plugin loader plugin. +# + +# +# PATHS +# + +GTK_TOP := ../../../win32-dev/gtk_2_0 +GAIM_TOP := ../.. +PERL_LIB_DIR := ../../../win32-dev/perl56 +PERL_INCLUDE := $(PERL_LIB_DIR)/CORE +GAIM_INSTALL_DIR := $(GAIM_TOP)/win32-install-dir +DLL_INSTALL_DIR := $(GAIM_INSTALL_DIR)/plugins + +## +## VARIABLE DEFINITIONS +## + +TARGET = perl + +CC = gcc.exe + +VERSION := $(shell cat $(GAIM_TOP)/VERSION) + +# Compiler Options + +CFLAGS = -O2 -Werror -mno-cygwin -fnative-struct + +DEFINES = -DVERSION=\"$(VERSION)\" + + +## +## INCLUDE MAKEFILES +## + + +## +## 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$(PERL_INCLUDE) + + + + +LIB_PATHS = -L$(GTK_TOP)/lib \ + -L$(GAIM_TOP)/src \ + -L$(PERL_LIB_DIR) + + +## +## SOURCES, OBJECTS +## + +C_SRC = perl.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 \ + -lperl56 + + +## +## 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 $(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).def: $(OBJECTS) + dlltool --dllname $(TARGET).dll -z $(TARGET).def \ + $(OBJECTS) + +$(TARGET).base: $(OBJECTS) $(GAIM_TOP)/src/gaim.lib + gcc -mdll -o junk.tmp -Wl,--base-file,$@ $(OBJECTS) $(LIB_PATHS) $(LIBS) + rm -rf junk.tmp + +$(TARGET).exp: $(TARGET).def $(TARGET).base + dlltool --dllname $(TARGET).dll --base-file $(TARGET).base \ + --output-exp $(TARGET).exp --def $(TARGET).def + rm -rf $(TARGET).base $(TARGET).def + +$(TARGET).dll: $(OBJECTS) $(TARGET).exp $(GAIM_TOP)/src/gaim.lib + gcc -mdll -o $(TARGET).dll $(OBJECTS) -Wl,$(TARGET).exp $(LIB_PATHS) $(LIBS) + rm -rf $(TARGET).exp + + +## +## CLEAN RULES +## + +clean: + rm -rf *.o + rm -rf $(TARGET).dll + rm -rf $(TARGET).def