view plugins/perl/Makefile.mingw @ 12767:53218d758ba9

[gaim-migrate @ 15114] Make the dns lookup for udp connecting asynchronous. Thomas pointed out that it should be instantaneous anyway because the SRV lookup that has just been done, but this'll avoid blocking if the SRV lookup failed or something. committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Sun, 08 Jan 2006 22:09:28 +0000
parents 6dcfec6f2f7c
children
line wrap: on
line source

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

#
# PATHS
#

GTK_TOP :=		../../../win32-dev/gtk_2_0
GAIM_TOP :=		../..
PERL_LIB_DIR :=		../../../win32-dev/perl58
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

# Compiler Options

CFLAGS =

DEFINES =

##
## INCLUDE  MAKEFILES
##

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

# Perl headers with /* /* */ type comments.. Turn off warnings.
CFLAGS += -Wno-comment

##
## 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 \
			perl-common.c \
			perl-handlers.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 \
			-lperl58


##
## RULES
##

# How to make a C file

%.o: %.c
	$(CC) $(CFLAGS) $(DEFINES) $(INCLUDE_PATHS) -o $@ -c $<

##
## TARGET DEFINITIONS
##

.PHONY: all clean

all: $(TARGET).dll
	$(MAKE) -C ./common -f Makefile.mingw

install:
	cp $(TARGET).dll $(DLL_INSTALL_DIR)
	$(MAKE) -C ./common -f Makefile.mingw install

##
## 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,--export-all-symbols -Wl,--out-implib,$(TARGET).lib -o $(TARGET).dll


##
## CLEAN RULES
##

clean:
	rm -rf *.o
	rm -rf $(TARGET).dll $(TARGET).lib
	$(MAKE) -C ./common -f Makefile.mingw clean