view src/protocols/zephyr/Makefile.mingw @ 12529:d640a92eceb6

[gaim-migrate @ 14842] RPM spec file updates to allow us to build a beta that RPM will happily upgrade to the final release later, and various other cleanups and fixes for some of the newer things we use such as dbus and cyrus sasl. committer: Tailor Script <tailor@pidgin.im>
author Stu Tomlinson <stu@nosnilmot.com>
date Sat, 17 Dec 2005 18:44:11 +0000
parents 5727afad0fb8
children
line wrap: on
line source

#
# Makefile.mingw
#
# Description: Makefile for win32 (mingw) version of libzephyr
#

#
# PATHS
#
 
INCLUDE_DIR :=		.
GTK_TOP :=		../../../../win32-dev/gtk_2_0
GAIM_TOP :=		../../..
ZEPHYR_ROOT :=		.
KRB4_TOP :=             ../../../../win32-dev/kfw-2.6.3-final.fixed
GAIM_INSTALL_DIR :=	$(GAIM_TOP)/win32-install-dir

USE_KRB4 := false

##
## VARIABLE DEFINITIONS
##

TARGET = libzephyr

# Compiler Options

CFLAGS =

DEFINES =

# Static or Plugin... 
ifeq ($(TYPE),STATIC)
  DEFINES += -DSTATIC
  DLL_INSTALL_DIR =	$(GAIM_INSTALL_DIR)
else
ifeq ($(TYPE),PLUGIN)
  DLL_INSTALL_DIR =	$(GAIM_INSTALL_DIR)/plugins
endif
endif

DEFINES += -DWIN32 -DKRB5_SYSTYPES__ 

ifeq ($(USE_KRB4),true)
  DEFINES += -DZEPHYR_USES_KERBEROS
endif

##
## INCLUDE  MAKEFILES
##

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

##
## INCLUDE PATHS
##

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

ifeq ($(USE_KRB4), true)
   INCLUDE_PATHS += -I$(KRB4_TOP)/inc/krb4
endif

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

ifeq ($(USE_KRB4), true)
  LIB_PATHS+=-L$(KRB4_TOP)/lib/i386
endif

##
##  SOURCES, OBJECTS
##

C_SRC =			ZAsyncLocate.c \
			ZCkAuth.c \
			ZCkIfNot.c \
			ZClosePort.c \
			ZCmpUID.c \
			ZCmpUIDP.c \
ZFlsLocs.c \
ZFlsSubs.c \
ZFmtAuth.c \
ZFmtList.c \
ZFmtNotice.c \
ZFmtRaw.c \
ZFmtRawLst.c \
ZFmtSmRLst.c \
ZFmtSmRaw.c \
ZFreeNot.c \
ZGetLocs.c \
ZGetSender.c \
ZGetSubs.c \
ZGetWGPort.c \
ZIfNotice.c \
ZInit.c \
ZLocations.c \
ZMakeAscii.c \
ZMkAuth.c \
ZNewLocU.c \
ZOpenPort.c \
ZParseNot.c \
ZPeekIfNot.c \
ZPeekNot.c \
ZPeekPkt.c \
ZPending.c \
ZReadAscii.c \
ZRecvNot.c \
ZRecvPkt.c \
ZRetSubs.c \
ZSendList.c \
ZSendNot.c \
ZSendPkt.c \
ZSendRLst.c \
ZSendRaw.c \
ZSetDest.c \
ZSetFD.c \
ZSetSrv.c \
ZSubs.c \
ZVariables.c \
ZWait4Not.c \
ZhmStat.c \
Zinternal.c \
error_message.c \
et_name.c \
init_et.c \
zephyr_err.c \
zephyr.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

ifeq ($(USE_KRB4),true) 
  LIBS+= -lkrbv4w32 
endif

##
## 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 $(ZEPHYR_ROOT)/$(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) -Wl,--enable-stdcall-fixup -Wl,--out-implib,$(TARGET).lib -o $(TARGET).dll


##
## CLEAN RULES
##

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