# # ***** BEGIN LICENSE BLOCK ***** # Version: MPL 1.1/GPL 2.0/LGPL 2.1 # # The contents of this file are subject to the Mozilla Public License Version # 1.1 (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # http://www.mozilla.org/MPL/ # # Software distributed under the License is distributed on an "AS IS" basis, # WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License # for the specific language governing rights and limitations under the # License. # # The Original Code is Mozilla Communicator client code, released # March 31, 1998. # # The Initial Developer of the Original Code is # Netscape Communications Corporation. # Portions created by the Initial Developer are Copyright (C) 1998-1999 # the Initial Developer. All Rights Reserved. # # Contributor(s): # # Alternatively, the contents of this file may be used under the terms of # either the GNU General Public License Version 2 or later (the "GPL"), or # the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), # in which case the provisions of the GPL or the LGPL are applicable instead # of those above. If you wish to allow use of your version of this file only # under the terms of either the GPL or the LGPL, and not to allow others to # use your version of this file under the terms of the MPL, indicate your # decision by deleting the provisions above and replace them with the notice # and other provisions required by the GPL or the LGPL. If you do not delete # the provisions above, a recipient may use your version of this file under # the terms of any one of the MPL, the GPL or the LGPL. # # ***** END LICENSE BLOCK ***** DEPTH = ../../../../.. NS_DEPTH = ../../../.. LDAP_SRC = ../.. NSCP_DISTDIR = ../../../../../dist NSPR_TREE = ../../.. MOD_DEPTH = ../../.. include $(NSPR_TREE)/config/rules.mk include ../../../build.mk SRCS = abandon.c \ add.c \ bind.c \ cache.c \ charray.c \ charset.c \ compare.c \ compat.c \ control.c \ countvalues.c \ delete.c \ disptmpl.c \ dsparse.c \ error.c \ extendop.c \ free.c \ freevalues.c \ friendly.c \ getattr.c \ getdn.c \ getdxbyname.c \ getentry.c \ getfilter.c \ getoption.c \ getvalues.c \ memcache.c \ message.c \ modify.c \ open.c \ os-ip.c \ proxyauthctrl.c \ psearch.c \ referral.c \ regex.c \ rename.c \ request.c \ reslist.c \ result.c \ saslbind.c \ sbind.c \ search.c \ setoption.c \ sort.c \ sortctrl.c \ srchpref.c \ tmplout.c \ ufn.c \ unbind.c \ unescape.c \ url.c \ utf8.c \ vlistctrl.c ifeq ($(OS_ARCH), WINNT) SRCS +=dllmain.c SRCS +=mozock.c endif ifeq ($(OS_ARCH), WINNT) REALOBJS = $(SRCS:.c=.obj) else REALOBJS = $(SRCS:.c=.o) endif LDAPOBJDEST = $(OBJDIR_NAME) OBJS = $(addprefix $(LDAPOBJDEST)/, $(REALOBJS)) DISTHDIR = $(NSCP_DISTDIR)/public/ldap HDIR = $(LDAP_SRC)/include ifeq ($(OS_ARCH), WINNT) LIBLDAP = $(addprefix $(LDAPOBJDEST)/, $(LDAP_LIBNAME).$(DLL_SUFFIX)) DLLLDAP = $(addprefix $(LDAPOBJDEST)/, $(LDAP_LIBNAME).$(LIB_SUFFIX)) else LIBLDAP = $(addprefix $(LDAPOBJDEST)/, lib$(LDAP_LIBNAME).$(DLL_SUFFIX)) DLLLDAP = $(addprefix $(LDAPOBJDEST)/, lib$(LDAP_LIBNAME).$(LIB_SUFFIX)) endif INSTALLDIR = $(DEPTH)/dist/$(OBJDIR_NAME) LOCAL_INCLUDES = -I$(PUBLIC)/nspr INCLUDES += -I$(DISTHDIR) -I$(HDIR) -I$(INSTALLDIR)/include \ -I../../../../../dist/include DEFINES += $(DEFS) PLATFORMCFLAGS = -DUSE_WAITPID -DNEEDPROTOS #PLATFORMLIBS = THREADS = THREADSLIB = ETCFILES = ldapfilter.conf \ ldapfriendly \ ldapsearchprefs.conf \ ldaptemplates.conf \ $(NULL) ETCDIR = $(INSTALLDIR)/etc # # if you want things to run in a different directory from where they # are installed, set this accordingly (this path gets compiled into a # few binaries). otherwise, leave it alone. # RUNTIMEETCDIR = $(ETCDIR) # # shared library symbol export definitions # ifeq ($(USE_DLL_EXPORTS_FILE), 1) ifeq ($(OS_ARCH), WINNT) GENEXPORTS=cmd /c $(PERL) $(LDAP_SRC)/build/genexports.pl else GENEXPORTS=$(PERL) $(LDAP_SRC)/build/genexports.pl endif # variable definitions for exported symbols ifeq ($(OS_ARCH), WINNT) LDAP_EXPORT_DEFS=../msdos/winsock/nsldap32.def else LDAP_EXPORT_DEFS= $(LDAPOBJDEST)/libldap.exp endif LDAP_EXPORT_FLAGS=$(addprefix $(DLLEXPORTS_PREFIX), $(LDAP_EXPORT_DEFS)) GENEXPARGS=$(BUILD_DEBUG) $(LDAPVERS_SUFFIX) $(LDAPVERS) endif # USE_DLL_EXPORTS_FILE ifeq ($(OS_ARCH), SunOS) EXTRA_LIBS = -L$(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib -l$(LBER_LIBNAME) EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib endif ifeq ($(OS_ARCH), Linux) EXTRA_LIBS = -L$(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib -l$(LBER_LIBNAME) EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib endif ifeq ($(OS_ARCH), WINNT) EXTRA_LIBS =wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib \ comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib \ rpcrt4.lib uuid.lib odbc32.lib odbccp32.lib winmm.lib EXTRA_LIBS += $(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib/$(LDIF_LIBNAME).lib EXTRA_LIBS += $(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib/$(LBER_LIBNAME).lib endif ifeq ($(OS_ARCH), OSF1) EXTRA_LIBS = -L$(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib -l$(LBER_LIBNAME) EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib EXTRA_LIBS += -L/usr/lib -lcxx -lpthread -lrt -lmach -lexc endif ifeq ($(OS_ARCH), AIX) EXTRA_LIBS = -L$(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib -l$(LBER_LIBNAME) EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib EXTRA_LIBS += -ldl -brtl -lpthreads -lc_r -lm endif ifeq ($(OS_ARCH), HP-UX) EXTRA_LIBS = -L$(NSCP_DISTDIR)/$(OBJDIR_NAME)/lib -l$(LBER_LIBNAME) EXTRA_LIBS += -L$(NSCP_DISTDIR)/lib EXTRA_LIBS += -ldld -lm -lpthread endif OBJDEST = $(OBJDIR_NAME) ########################################################################### ifeq ($(USE_DLL_EXPORTS_FILE), 1) # recursive gmake rule to create exported symbols file $(LDAP_EXPORT_DEFS):: ../libldap.ex ifeq ($(OS_ARCH), WINNT) $(GENEXPORTS) Win32 Standard $< $(GENEXPARGS) > $@ else $(GENEXPORTS) $(OS_ARCH) Standard $< $(GENEXPARGS) > $@ endif endif # USE_DLL_EXPORTS_FILE versiont.c: Makefile.client Version.c @$(RM) $@ @(u="$${USER-root}" v="$(shell cat ../../build/version)" d="$(shell pwd)" \ h="$(shell hostname)" t="$(shell date)"; $(SED) -e "s|%WHEN%|$${t}|" \ -e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \ -e "s|%VERSION%|$${v}|" \ < Version.c > $@) all:: $(OBJDEST) $(LIBDIR) $(OBJS) $(LIBLDAP) $(DLLLDAP) ltest:: $(LIBLDAP) test.o $(LINK_EXE) test.o $(LIBDIR): $(MKDIR) $(LIBDIR) $(LIBLDAP): $(OBJS) $(LIBDIR) $(LDAP_EXPORT_DEFS) @echo ======= making $(LIBLDAP) ifdef SO_FILES_TO_REMOVE -$(RM) $(SO_FILES_TO_REMOVE) endif $(LINK_DLL) $(DSO_LDOPTS) $(LDAP_EXPORT_FLAGS) $(EXTRA_LIBS) $(DLLLDAP): $(OBJS) $(LIBDIR) $(LDAP_EXPORT_DEFS) @echo ======= making $(DLLLDAP) ifdef SO_FILES_TO_REMOVE -$(RM) $(SO_FILES_TO_REMOVE) endif ifeq ($(OS_ARCH), AIX) $(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a else ifeq ($(OS_ARCH), Linux) $(LINK_LIB) ../liblber/$(OBJDIR_NAME)/*.a else $(LINK_LIB) $(EXTRA_LIBS) endif endif veryclean:: clean clean:: $(RM) $(OBJS) $(LIBLDAP) $(RM) -r $(LDAPOBJDEST) $(OBJDEST): $(MKDIR) $(OBJDEST) install:: $(LIBLDAP) $(DLLLDAP) ifdef MKSHLIB $(INSTALL) -m 555 $(LIBLDAP) $(INSTALLDIR)/lib $(INSTALL) -m 555 $(DLLLDAP) $(INSTALLDIR)/lib endif ifeq ($(OS_ARCH), WINNT) $(INSTALL) -m 555 $(LIBLDAP) $(INSTALLDIR)/lib $(INSTALL) -m 555 $(DLLLDAP) $(INSTALLDIR)/lib endif $(INSTALL) -m 555 $(ETCFILES) $(ETCDIR)