view libpurple/protocols/zephyr/Makefile.mingw @ 21172:33da7f2a30e4

Manually fflush() files written with purple_util_write_data_to_file, because apparently some filesystems (XFS) can and will leave bogus file contents if we don't. For systems which don't have fileno(), this involves closing and reopening the file.
author Ethan Blanton <elb@pidgin.im>
date Thu, 08 Nov 2007 19:49:12 +0000
parents 1843c0180fbe
children
line wrap: on
line source

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

PIDGIN_TREE_TOP := ../../..
include $(PIDGIN_TREE_TOP)/libpurple/win32/global.mak

TARGET = libzephyr
KRB4_TOP := $(WIN32_DEV_TOP)/kfw-2.6.3-final.fixed
USE_KRB4 := false
DEFINES += -DWIN32 -DKRB5_SYSTYPES__
TYPE = PLUGIN

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

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

##
## INCLUDE PATHS
##
INCLUDE_PATHS +=	-I$(ZEPHYR_ROOT) \
			-I$(GTK_TOP)/include \
			-I$(GTK_TOP)/include/glib-2.0 \
			-I$(GTK_TOP)/lib/glib-2.0/include \
			-I$(PURPLE_TOP) \
			-I$(PURPLE_TOP)/win32 \
			-I$(PIDGIN_TREE_TOP)

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

LIB_PATHS +=		-L$(GTK_TOP)/lib \
			-L$(PURPLE_TOP)

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 =	\
			-lglib-2.0 \
			-lws2_32 \
			-lintl \
			-lpurple

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

include $(PIDGIN_COMMON_RULES)

##
## TARGET DEFINITIONS
##
.PHONY: all install clean

all: $(TARGET).dll

install: all $(DLL_INSTALL_DIR)
	cp $(TARGET).dll $(DLL_INSTALL_DIR)

$(OBJECTS): $(PURPLE_CONFIG_H)

$(TARGET).dll: $(PURPLE_DLL).a $(OBJECTS)
	$(CC) -shared $(OBJECTS) $(LIB_PATHS) $(LIBS) $(DLL_LD_FLAGS) -Wl,--enable-stdcall-fixup -o $(TARGET).dll

##
## CLEAN RULES
##
clean:
	rm -f $(OBJECTS)
	rm -f $(TARGET).dll

include $(PIDGIN_COMMON_TARGETS)