###########################################################################
#
# Makefile -- runtime-src/src/protocol
# A component of the Greenstone digital library software
# from the New Zealand Digital Library Project at the
# University of Waikato, New Zealand.
#
# Copyright (C) 1999-2008  The New Zealand Digital Library Project
#
#
# 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., 675 Mass Ave, Cambridge, MA 02139, USA.
#
###########################################################################

GSDL_DIR = ../../..
COMMON_DIR = $(GSDL_DIR)/common-src
RUNTIME_DIR = $(GSDL_DIR)/runtime-src

INDEXERS_DIR = $(COMMON_DIR)/indexers
COMMON_PACKAGES_DIR = $(COMMON_DIR)/packages
COLSERVR_DIR = $(RUNTIME_DIR)/src/colservr

ENABLE_MGPP = @ENABLE_MGPP@
ifeq ($(ENABLE_MGPP), 1)
MGPP_INCLUDES = -I$(INDEXERS_DIR)/mgpp/text -I$(INDEXERS_DIR)/mgpp/lib
else
MGPP_INCLUDES =
endif

USE_GDBM = @USE_GDBM@
ifeq ($(USE_GDBM), 1)
GDBM_DEFINES = -DUSE_GDBM
GDBM_INCLUDES = -I$(COMMON_PACKAGES_DIR)/gdbm/include
else
GDBM_DEFINES = 
GDBM_INCLUDES =
endif

USE_JDBM = @USE_JDBM@
ifeq ($(USE_JDBM), 1)
JDBM_DEFINES = -DUSE_JDBM
else
JDBM_DEFINES = 
endif

USE_SQLITE = @USE_SQLITE@
ifeq ($(USE_SQLITE), 1)
SQLITE_DEFINES = -DUSE_SQLITE
else
SQLITE_DEFINES =
endif


AR = ar
CXX = @CXX@
CXXFLAGS = @CXXFLAGS@ @ARCH_DEP_FLAGS@
DEFS = @DEFS@ -DNZDL -DQUIET -DSHORT_SUFFIX -DPARADOCNUM -DGSDLSERVER $(GDBM_DEFINES) $(JDBM_DEFINES) $(SQLITE_DEFINES)
# Do NOT add the "recpt" directory here: the protocol should be independent of the receptionist!
INCLUDES = -I. -I$(GSDL_DIR) -I$(COMMON_DIR)/src/lib $(GDBM_INCLUDES) \
	-I$(COLSERVR_DIR) $(MGPP_INCLUDES)
RANLIB = @RANLIB@


CXXCOMPILE = $(CXX) -c $(CXXFLAGS) $(DEFS) $(INCLUDES)


.SUFFIXES:
.SUFFIXES: .cpp .o
.cpp.o:
	$(CXXCOMPILE) $< 


SOURCES = \
	nullproto.cpp \
	recptproto.cpp \
	recptprototools.cpp

OBJECTS = \
	nullproto.o \
	recptproto.o \
	recptprototools.o

LIBRARY = gsdlprotocol.a


# Default target: make gsdlprotocol.a
all: $(LIBRARY)

gsdlprotocol.a: $(OBJECTS)
	rm -f $(LIBRARY)
	$(AR) cru $(LIBRARY) $(OBJECTS)
	$(RANLIB) $(LIBRARY)

install:

clean:
	rm -f $(OBJECTS) $(LIBRARY)

distclean:
	rm -f $(OBJECTS) $(LIBRARY) Makefile

depend:
	makedepend -Y -- $(DEFS) $(INCLUDES) $(CXXFLAGS) -- $(SOURCES)
