view libgaim/protocols/zephyr/Makefile.mingw @ 14293:82373bb6a47a

[gaim-migrate @ 16983] Restructure updates for some makefiles that are not used by default and may not fully work. Remove gtk import stuff from oscar Makefile.mingw committer: Tailor Script <tailor@pidgin.im>
author Daniel Atallah <daniel.atallah@gmail.com>
date Tue, 22 Aug 2006 18:10:43 +0000
parents 60b1bc8dbf37
children 8793fc8f7064
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 :=		../../..
LIBGAIM_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 $(LIBGAIM_TOP)/win32/global.mak

##
## 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$(LIBGAIM_TOP) \
			-I$(LIBGAIM_TOP)/win32 \
			-I$(GAIM_TOP)

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

LIB_PATHS =		-L$(GTK_TOP)/lib \
			-L$(LIBGAIM_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 \
			-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
##

$(LIBGAIM_TOP)/libgaim.dll.a:
	$(MAKE) -C $(LIBGAIM_TOP) -f Makefile.mingw libgaim.dll.a

##
## BUILD DLL
##

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


##
## CLEAN RULES
##

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