# # BEGIN COPYRIGHT BLOCK # Copyright (C) 2001 Sun Microsystems, Inc. Used by permission. # Copyright (C) 2005 Red Hat, Inc. # All rights reserved. # # License: GPL (version 3 or any later version). # See LICENSE for details. # END COPYRIGHT BLOCK # # # GNU Makefile for libslapd # FLAG_LDAP_4SLAPD=true LDAP_SRC = ../.. BUILD_ROOT = ../../.. NOSTDCLEAN=true # don't let nsconfig.mk define target clean NOSTDSTRIP=true # don't let nsconfig.mk define target strip NSPR20=true # probably should be defined somewhere else (not sure where) OBJDEST = $(OBJDIR)/servers/obj BINDIR = $(LIB_RELDIR) LIBDIR = $(OBJDIR)/lib ifndef INSTDIR INSTDIR = /opt/servers/ endif include $(BUILD_ROOT)/nsdefs.mk include $(BUILD_ROOT)/nsconfig.mk include $(LDAP_SRC)/nsldap.mk ifndef LDAP_USE_OLD_DB _ldap_db_depend:=$(DB_LIB_DEP) INCLUDES+=-I$(DB_INCLUDE) endif include $(LDAP_SRC)/nsdeps.mk INCLUDES += -I. -I$(BUILD_ROOT)/lib # uncomment the following to include support in slapd for hacky echo control #CFLAGS += -DSLAPD_ECHO_CONTROL CFLAGS+=$(SLCFLAGS) LIBSLAPD_OBJS=plugin_role.o getfilelist.o libglobs.o log.o ch_malloc.o entry.o pblock.o \ modutil.o schema.o attr.o value.o time.o dn.o \ filter.o filtercmp.o filterentry.o operation.o schemaparse.o pw.o \ backend.o defbackend.o ava.o charray.o regex.o \ str2filter.o dynalib.o plugin.o plugin_syntax.o plugin_mr.o \ slapi2nspr.o rwlock.o control.o plugin_internal_op.o \ result.o pw_retry.o agtmmap.o referral.o snmp_collator.o util.o \ dse.o errormap.o computed.o match.o fileio.o \ generation.o localhost.o ssl.o factory.o auditlog.o \ lenstr.o eventq.o uuid.o uniqueid.o uniqueidgen.o \ csngen.o utf8compare.o entrywsi.o valueset.o \ attrsyntax.o opshared.o add.o modify.o modrdn.o delete.o dl.o\ plugin_acl.o counters.o subentry.o object.o objset.o apibroker.o \ csn.o csnset.o slapd_plhash.o attrlist.o vattr.o bitset.o rdn.o \ mapping_tree.o backend_manager.o task.o resourcelimit.o \ bulk_import.o security_wrappers.o index_subsystem.o sasl_map.o LDFLAGS = $(SSLLIBFLAG) EXTRA_LIBS_DEP = $(SECURITY_DEP) \ $(NSPR_DEP) $(LDAPSDK_DEP) $(SVRCORE_DEP) \ $(LDAP_LIBLDBM_DEP) $(LDAP_LIBAVL_DEP) $(LDAP_LIBLDIF_DEP) \ $(_ldap_db_depend) $(SVRCORE_DEP) EXTRA_LIBS = $(LDAP_LIBLITEKEY) -lavl -lldif \ $(SVRCORELINK) $(LDAPLINK) \ $(SECURITYLINK) $(NSPRLINK) \ $(ALIBS) $(DYNALIBS) $(THREADSLIB) # Comment for the following comment: # Updating LDAP C SDK to V6.0 has introduced a new dependent library # (Cyrus SASL). Instead of adding the library to EXTRA_LIBS list, # comment out "-z defs". If check is needed, uncomment "-z defs" and # append necessary libraries to EXTRA_LIBS. ## for Solaris, our most common unix build platform, we check for undefined ## symbols at link time so we don't catch them at run time. To do this, we ## set the -z defs flag. We also have to add explicitly link with the C and ## C++ runtime libraries (e.g., -lc) because, even though ld and CC link ## with them implicitly, -z defs will throw errors if we do not link with ## them explicitly. ifeq ($(ARCH), SOLARIS) # LINK_DLL += -z defs # removed -lcx from the following line EXTRA_LIBS += -lm -lw -lc ifdef NS_USE_NATIVE EXTRA_LIBS += -lCstd -lCrun endif # with the Forte 6 and later compilers, we must use CC to link ifdef NS_USE_NATIVE LD=CC endif endif OBJS = $(addprefix $(OBJDEST)/, $(LIBSLAPD_OBJS)) ERRORMAP.O = $(addprefix $(OBJDEST)/, errormap.o) all: $(OBJDEST) $(LIBDIR) $(BINDIR) $(BUILD_DEP) $(LIBSLAPD_DLL) $(LIBSLAPD_RELDLLS) static: $(OBJDEST) $(LIBDIR) $(LIBSLAPD) dummy: echo $(LINK_DLL) echo $(EXTRA_LIBS) clientSDK: static $(LIBSLAPD_DLL): $(EXTRA_LIBS_DEP) $(OBJS) $(LIBSLAPD_DEF) $(LINK_DLL) $(EXTRA_LIBS) veryclean: clean clean: -$(RM) $(OBJS) -$(RM) $(LIBSLAPD_DLL) # compilation dependencies: $(ERRORMAP.O): $(DIRVERDIR)/dberrstrs.h $(DIRVERDIR)/dberrstrs.h: $(DB_INCLUDE)/db.h $(PERL) mkDBErrStrs.pl -i $(DB_INCLUDE) -o $(DIRVERDIR) # Target to push the built binary to an installed server LIBSLAPD_PUSH = $(addprefix $(INSTDIR)/, bin/slapd/server/libslapd.dll) push: $(LIBSLAPD_PUSH) $(LIBSLAPD_PUSH): $(LIBSLAPD_DLL) cp $(LIBSLAPD_DLL) $(LIBSLAPD_PUSH)