#
# BEGIN COPYRIGHT BLOCK
# 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; version 2 of the License.
# 
# 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.
# 
# In addition, as a special exception, Red Hat, Inc. gives You the additional
# right to link the code of this Program with code not covered under the GNU
# General Public License ("Non-GPL Code") and to distribute linked combinations
# including the two, subject to the limitations in this paragraph. Non-GPL Code
# permitted under this exception must only link to the code of this Program
# through those well defined interfaces identified in the file named EXCEPTION
# found in the source code files (the "Approved Interfaces"). The files of
# Non-GPL Code may instantiate templates or use macros or inline functions from
# the Approved Interfaces without causing the resulting work to be covered by
# the GNU General Public License. Only Red Hat, Inc. may make changes or
# additions to the list of Approved Interfaces. You must obey the GNU General
# Public License in all respects for all of the Program code and other code used
# in conjunction with the Program except the Non-GPL Code covered by this
# exception. If you modify this file, you may extend this exception to your
# version of the file, but you are not obligated to do so. If you do not wish to
# provide this exception without modification, you must delete this exception
# statement from your version and license this file solely under the GPL without
# exception. 
# 
# 
# Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
# Copyright (C) 2006 Red Hat, Inc.
# All rights reserved.
# END COPYRIGHT BLOCK
#
#
#	This Makefile is targetted to build the ldclt tool. This tool is a 
#	multithreaded ldap client, specially targetted to ensure good 
#	reliability of the product under test.
#
# -----------------------------------------------------------------------------

LDAP_SRC = ../../../..
BUILD_ROOT = ../../../../..

OBJDEST         = $(OBJDIR)/servers/tools/obj
BINDIR = $(RELDIR)/shared/bin
DATDIR = $(RELDIR)/shared/data

include $(BUILD_ROOT)/nsdefs.mk
include $(BUILD_ROOT)/nsconfig.mk
include $(LDAP_SRC)/nsldap.mk

ifeq ($(OS_ARCH), WINNT)
OBJEXT          =.obj
else
OBJEXT          =.o
endif

EXTRA_LIBS_DEP = $(LDAPSDK_DEP) $(DB_LIB_DEP) $(LDAP_COMMON_LIBS_DEP) $(SASL_DEP)

EXTRA_LIBS += $(LDAPLINK) $(DB_LIB) \
	$(PLATFORM_SPECIFIC_EXTRA_LIBRARY) \
	$(ALIBS) $(NSPRLINK) $(SECURITYLINK) \
	$(THREADSLIB) $(LDAP_COMMON_LIBS) $(SASL_LINK)

LDCLTSRC	= \
		data.c \
		ldapfct.c \
		ldclt.c \
		ldcltU.c \
		parser.c \
		port.c \
		scalab01.c \
		threadMain.c \
		utils.c \
		version.c \
		workarounds.c

#ifdef SUN_DS_3_X_SUPPORT
LDCLTSRC	+= opCheck.c
#endif

LDCLTOBJS	= $(addprefix $(OBJDEST)/, $(LDCLTSRC:.c=$(OBJEXT)))

HDIR            = $(LDAP_SRC)/include

LDCLTBIN	= $(addsuffix $(EXE_SUFFIX), $(addprefix $(BINDIR)/, ldclt))

INC_FILES	= \
		ldclt.h \
		port.h \
		utils.h \
		remote.h

INC_PLUGINS	= \
		scalab01.h 

ADDLIBS		= $(LDAPLIBS) $(SPEC_LIBS) $(SYSTEM_LIBS) $(END)

CFLAGS+=-DLDAP_DONT_USE_SMARTHEAP

ifeq ($(ARCH), Linux)
CFLAGS+=-D_XOPEN_SOURCE=500
endif

EXTRA_LIBS_DEP = $(LDAPSDK_DEP) $(DB_LIB_DEP) $(LDAP_COMMON_LIBS_DEP)

EXTRA_LIBS += $(LDAPLINK) $(DB_LIB) \
	$(PLATFORM_SPECIFIC_EXTRA_LIBRARY) \
	$(ALIBS) $(NSPRLINK) $(SECURITYLINK) \
	$(THREADSLIB) $(LDAP_COMMON_LIBS)

##########################################################################

all: $(OBJDEST) $(BINDIR) $(LDCLTBIN)

clean:
	-$(RM) $(LDCLTOBJS) $(LDCLTBIN)

$(OBJDEST): 
	if [ ! -d $(OBJDEST) ]; then \
		$(MKDIR) $(OBJDEST); \
	fi

$(BINDIR):
	if [ ! -d $(BINDIR) ]; then \
		$(MKDIR) $(BINDIR); \
	fi

$(LDCLTBIN): $(LDCLTOBJS)
	$(LINK_EXE) $(LDCLTOBJS) $(EXTRA_LIBS)
	-chmod 755 $(LDCLTBIN)

