# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
# You may obtain a copy of the Licence at
# http://www.gnu.org/licences/lgpl.html
# 
# As a special exception this file can also be included in modules
# with other source code as long as that source code has been 
# released under an Open Source Initiative certificed licence.  
# More information about OSI certification can be found at: 
# http://www.opensource.org 
# 
# This module 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 Lesser General Public Licence for more details.
# 
# This module was created by members of the firebird development 
# team.  All individual contributions remain the Copyright (C) of 
# those individuals and all rights are reserved.  Contributors to 
# this file are either listed below or can be obtained from a CVS 
# history command.
#
#  Created by:  Mark O'Donohue <mark.odonohue@ludwig.edu.au>
#
#  Contributor(s):
# 
#
#
ROOT=..
ObjModuleType=superclient
CPPFLAGS+= -DSUPERCLIENT

include     $(ROOT)/gen/make.defaults
include     $(ROOT)/gen/make.platform
include     $(ROOT)/gen/make.rules
include     $(ROOT)/gen/make.shared.variables

@SET_MAKE@


# These are deliberatly unexported otherwise gbak and others will try and check
# the userid against the security2.fdb database, which doesn't exist at this stage
# in the build. MOD 11-July-2002

unexport ISC_USER
unexport ISC_PASSWORD


# jrd has it's own rule for using gpre to use gpre boot.
# I would eventually like to set these based on a determination
# if the file GPRE_STATIC exists or not.

SMD_Sources =	$(addprefix remote/,$(Server_main_dummy))
SMD_Objects =	$(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SMD_Sources))))

JRD_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(JRD_ClientSources))))

DSQL_ClientSources = $(addprefix dsql/, $(DSQL_ClientFiles))
DSQL_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(DSQL_ClientSources))))


REMOTE_ClientObjects = $(INTERFACE_Objects)


GPRELIB_ClientSources = $(addprefix gpre/, $(GPRELIB_ClientFiles))
GPRELIB_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(GPRELIB_ClientSources))))


SECURITY_ClientSources_gsec = $(addprefix utilities/gsec/, $(SECURITY_ClientFiles_gsec))
SECURITY_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(SECURITY_ClientSources_gsec))))


FBUTIL_ClientSources = $(addprefix fbutil/, $(FBUTIL_ClientFiles))
FBUTIL_ClientObjects = $(addprefix $(OBJ)/, $(addsuffix .o, $(basename $(FBUTIL_ClientSources))))


FBCLIENT_Objects =  $(JRD_ClientObjects) \
					$(DSQL_ClientObjects) \
					$(REMOTE_ClientObjects) \
					$(GPRELIB_ClientObjects) \
					$(SECURITY_ClientObjects) \
					$(FBUTIL_ClientObjects) \
					$(FBCOMMON_Objects)\
					$(FBCLASSES_ClientObjects)\
					$(FBCLASSES_MsgObjects)\
					$(OS_SPECIFIC_Objects)\
					$(FBCONFIG_Objects) \
					$(CLUMPLETS_Objects) \
					$(SMD_Objects)


.PHONY: libfbclient


libfbclient : $(LIBFBCLIENT_SONAME)

ifneq ($(ClientLibraryNameFull),$(ClientLibrarySoName))
$(LIBFBCLIENT_SOBASENAME):	$(LIBFBCLIENT_SO)
	(cd $(LIB) && $(LN) -f $(ClientLibraryNameFull) $(ClientLibrarySoName) )
endif

ifneq ($(ClientLibrarySoName),$(ClientLibraryName))
$(LIBFBCLIENT_SONAME):	$(LIBFBCLIENT_SOBASENAME)
	(cd $(LIB) && $(LN) -f $(ClientLibrarySoName) $(ClientLibraryName) )
endif

$(LIBFBCLIENT_SO):	$(FBCLIENT_Objects)
	$(LINK_CLIENT) -o $@ $^ $(LINK_CLIENT_LIBS)

AllObjects = $(FBCLIENT_Objects)
Dependencies = $(AllObjects:.o=.d)


include $(ROOT)/gen/make.shared.targets

-include $(Dependencies)
