#! gmake

## AbiWord
## Copyright (C) 1998 AbiSource, Inc.
## Copyright (C) 2008 AbiSource Corporation B.V.
##
## This program is free software; you can redistribute it and/or
## modify it under the terms of the GNU General Public License
## as published by the Free Software Foundation; either version 2
## of the License, or (at your option) any later version.
## 
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.
## 
## You should have received a copy of the GNU General Public License
## along with this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  
## 02111-1307, USA.

ABI_ROOT:=$(shell pwd)/../../../abi
include $(ABI_ROOT)/src/config/abi_defs.mk
include $(shell pwd)/abicollab_config.mk

DIRS=				core backends

LIBRARY_NAME=		AbiCollab
LIBRARY_VERSION=	$(ABI_VERSION)
TARGETS=			$(PLUGIN)

OBJS=				$(OBJDIR)/AbiCollab.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollab_Export.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollab_Import.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollab_ImportRuleSet.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollab_Packet.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollab_Plugin.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollabSessionManager.$(OBJ_SUFFIX) \
					$(OBJDIR)/AccountHandler.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Dialog_CollaborationAccounts.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Dialog_CollaborationAddAccount.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Dialog_CollaborationAddBuddy.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Dialog_CollaborationJoin.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Win32Dialog_CollaborationAccounts.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Win32Dialog_CollaborationAddAccount.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Win32Dialog_CollaborationAddBuddy.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Win32Dialog_CollaborationJoin.$(OBJ_SUFFIX) \
					$(OBJDIR)/AccountEvent.$(OBJ_SUFFIX) \
					$(OBJDIR)/SessionEvent.$(OBJ_SUFFIX) \
					$(OBJDIR)/CorePackets.$(OBJ_SUFFIX) \
					$(OBJDIR)/BackendPackets.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollab_Regression.$(OBJ_SUFFIX) \
					$(OBJDIR)/DiskSessionRecorder.$(OBJ_SUFFIX) \
					$(OBJDIR)/Buddy.$(OBJ_SUFFIX) \
					$(OBJDIR)/Serialization.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollab_Command.$(OBJ_SUFFIX) \
					$(OBJDIR)/Synchronizer.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Win32Res_CollaborationDialogsrc.$(OBJ_SUFFIX)

ifeq ($(BUILD_TCP_BACKEND),1)
OBJS+=				$(OBJDIR)/TCPAccountHandler.$(OBJ_SUFFIX) \
					$(OBJDIR)/TCPWin32AccountHandler.$(OBJ_SUFFIX)
endif

ifeq ($(BUILD_SERVICE_BACKEND),1)
OBJS+=				$(OBJDIR)/ServiceAccountHandler.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollabImport.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollabSaveInterceptor.$(OBJ_SUFFIX) \
					$(OBJDIR)/AbiCollabService_Export.$(OBJ_SUFFIX) \
					$(OBJDIR)/RealmConnection.$(OBJ_SUFFIX) \
					$(OBJDIR)/RealmProtocol.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Dialog_GenericInput.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Dialog_GenericProgress.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Win32Dialog_GenericInput.$(OBJ_SUFFIX) \
					$(OBJDIR)/ap_Win32Dialog_GenericProgress.$(OBJ_SUFFIX) \
					$(OBJDIR)/ServiceWin32AccountHandler.$(OBJ_SUFFIX)
endif

CFLAGS+=	-DABI_DLL

ifeq ($(ABI_FE), Win32)
ifeq ($(OS_NAME), MINGW32)
	EXTRA_LIBS+=  -lAbiWord.exe
	EXTRA_LIBS+=  $(shell pkg-config --libs libxml-2.0)
	EXTRA_LIBS+= $(BACKEND_LIBS)
	EXTRA_LIBS+=  -lws2_32
	EXTRA_LIBS+=  -lwsock32
	EXTRA_LIBS+=  -lgdi32
	EXTRA_LIBS+=  -luser32
	EXTRA_LIBS+=  -lcomctl32
	
else
	EXTRA_LIBS+=  $(BINDIR)/AbiWord.$(LIB_SUFFIX)
#	TODO
endif
endif

include $(ABI_ROOT)/src/config/abi_rules.mk

_AbiCollabDeps_ :
	@if [ -d $(ABI_ROOT)/../libs/boost/boost ]; then				\
		echo "Found boost in libs directory";			\
	else										\
		echo "ERROR -- boost headers not found";			\
		exit 1;								\
	fi
	@if [ -d $(ABI_ROOT)/../libs/asio/include ]; then				\
		echo "Found asio in libs directory";			\
	else										\
		echo "ERROR -- asio headers not found";			\
		exit 1;								\
	fi

build:: _AbiCollabDeps_ $(TARGETS)
