#
# BEGIN COPYRIGHT BLOCK
# Copyright (C) 2001 Sun Microsystems, Inc.  Used by permission.
# Copyright (C) 2005 Red Hat, Inc.
# All rights reserved.
# 
# 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 version
# 2.1 of the License.
#                                                                                  
# This library 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 License for more details.
#                                                                                  
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
# END COPYRIGHT BLOCK
#
# The adminutil libraries

BUILD_ROOT=../..

MODULE=LibAdminUtil
MODULE_CFLAGS=

include ../../nsconfig.mk

OBJLIBDIR=$(OBJDIR)/lib
OBJDEST=$(OBJLIBDIR)/libadminutil

ifeq ($(ARCH), WINNT)
  ifeq ($(DEBUG), fulld)
    LIBS=$(OBJLIBDIR)/libadminutild_s$(ADMSDK_SO_VERSION).lib
    SO_NAME=libadminutild
  else
    LIBS=$(OBJLIBDIR)/libadminutil_s$(ADMSDK_SO_VERSION).lib
    SO_NAME=libadminutil
  endif
else
  LIBS=$(OBJLIBDIR)/libadminutil-$(ADMSDK_SO_DOTVERSION).a
  SO_NAME=libadminutil
endif

include ../../nsconfig.mk

SO_COREEXT:=$(DLL_PRESUF).$(DLL_SUFFIX)
SO_EXT:=$(SO_COREEXT).$(ADMSDK_SO_DOTVERSION)
SO_LIB:=$(OBJLIBDIR)/$(SO_NAME)$(SO_EXT)

ifeq ($(ARCH), AIX)
override EXTRA_LIBS := -L.:/usr/lib/threads:/usr/lpp/xlC/lib:/usr/lib:/lib \
	-bI:/usr/lib/lowsys.exp -L. -lC_r -lC -lpthreads -lc_r -lm \
	/usr/lib/libc.a -ldl -lbsd -brtl -berok

LDAPLINK=-L$(LDAP_LIBPATH) $(addprefix -l, $(LDAP_SOLIB_NAMES)) $(addprefix -l, $(LDAP_SSLLIB_NAMES))
endif

OBJS=$(addprefix $(OBJDEST)/, psetc.o admutil.o distadm.o srvutil.o \
                              errRpt.o form_post.o strlist.o \
			      resource.o uginfo.o $(OSOBJS))

all: $(OBJDEST) $(SO_LIB) resource_bundle

$(OBJDEST):
	mkdir -p $(OBJDEST)

# stop building static libraries
#ifeq ($(ARCH), WINNT)
#$(LIBS): $(OBJS)
#	rm -f $@
#	$(AR) $(OBJS)
#	$(RANLIB) $@
#else
#$(LIBS): $(OBJS)
#	rm -f $@
#	$(AR) $(OBJS)
#	$(RANLIB) $@
#endif

ifeq ($(ARCH), AIX)
ADM_EXPORT_FILE=$(OBJLIBDIR)/$(SO_NAME)$(DLL_PRESUF).exp
$(SO_LIB): $(OBJS)
	nm -B -C -g $(OBJS) \
			| awk '/ [T,D,B] / {print $$3}' \
			| sed -e 's/^\.//' \
			| sort -u > $(ADM_EXPORT_FILE)
	$(LD) $(DLL_LDFLAGS) -o $(SO_LIB) -bE:$(ADM_EXPORT_FILE) \
                        $(OBJS) \
			$(DEPLIBS) $(EXTRA_LIBS)
else
ifeq ($(ARCH), WINNT)
$(SO_LIB): $(OBJDEST)/dllVersionInfo.res $(OBJS)
	rm -f $@
	$(PURIFY) $(LINK_DLL) $(DEPLIBS) $(OBJDEST)/dllVersionInfo.res $(OBJS) $(EXTRA_LIBS)
	echo $(SO_LIB) finished
else
$(SO_LIB): $(OBJS)
	rm -f $@
	$(LINK_DLL) $(OBJS) $(DEPLIBS)
	cd $(OBJLIBDIR); rm -f $(SO_NAME)$(SO_COREEXT); ln -s $(SO_NAME)$(SO_EXT) $(SO_NAME)$(SO_COREEXT)
	cd $(OBJLIBDIR); rm -f $(SO_NAME)$(SO_COREEXT).$(ADMSDK_SO_MAJORVERSION); ln -s $(SO_NAME)$(SO_EXT) $(SO_NAME)$(SO_COREEXT).$(ADMSDK_SO_MAJORVERSION)
endif
endif

resource_bundle: $(OBJDEST) libadminutil.properties
	$(ICU_GENRB) -s. -d$(OBJDEST) --encoding ISO_8859-1 --package-name libadminutil libadminutil.properties

