+# $OpenLDAP$
+## Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
+## COPYING RESTRICTIONS APPLY, see COPYRIGHT file
#-----------------------------------------------------------------------------
-# Copyright (c) 1995 Regents of the University of Michigan.
+# Portions Copyright (c) 1995 Regents of the University of Michigan.
# All rights reserved.
#
# Redistribution and use in source and binary forms are permitted
# Stand alone LDAP server tools makefile
#
#-----------------------------------------------------------------------------
-HAVE_ISODE = @HAVE_ISODE@
BUILD_LDBM = @BUILD_LDBM@
LDAP_INCDIR= ../../../include
LDAP_LIBDIR= ../../../libraries
-PROGRAMS=ldif2index ldif2ldbm ldbmcat ldif2id2entry \
- ldif2id2children centipede ldbmtest ldif
+SLAP_DIR=../
+SLAPD_MODULES = @SLAPD_MODULES_LIST@
+XDEFS = $(MODULES_CPPFLAGS)
+XLDFLAGS = $(MODULES_LDFLAGS) $(SLAPD_MODULES)
-SRCS = centipede.c ldbmcat.c ldbmtest.c sizecount.c \
- ldif.c ldif2id2children.c ldif2id2entry.c ldif2index.c ldif2ldbm.c
+XLIBS = -lavl -lldif -lldbm -llutil -llunicode -lldap_r -llber
+XXLIBS = $(SLAPD_LIBS) \
+ $(LDBM_LIBS) $(SECURITY_LIBS) \
+ $(LDIF_LIBS) $(LUTIL_LIBS)
+XXXLIBS = $(MODULES_LIBS) $(LTHREAD_LIBS)
-EDB2LDIFSRCS = edb2ldif.c ldapsyntax.c
-EDB2LDIFOBJS = edb2ldif.o ldapsyntax.o
+PROGRAMS=slapadd slapcat slapindex slappasswd
-OBJS2 = ../config.o ../ch_malloc.o ../backend.o ../charray.o \
- ../aclparse.o ../schema.o ../result.o ../filterentry.o \
- ../acl.o ../phonetic.o ../attr.o ../value.o ../entry.o \
- ../dn.o ../filter.o ../str2filter.o ../ava.o ../init.o \
- ../schemaparse.o
-
-all-local: build-ldbm build-edb2ldif build-chlog2replog
-
-build-ldbm: FORCE
- @if [ "$(BUILD_LDBM)" = "yes" ]; then \
- $(MAKE) $(MFLAGS) ldbm-tools; \
- else \
- echo "run configure with --with-ldbm to build LDBM tools"; \
- fi
-
-ldbm-tools: $(PROGRAMS)
-
-XLIBS = @SLAPD_LIBS@ -lavl -lldbm @LDBM_LIBS@ -llthread @LTHREAD_LIBS@ -llutil @LUTIL_LIBS@
-
-build-edb2ldif: FORCE
- @if [ "$(HAVE_ISODE)" = "yes" ]; then \
- $(MAKE) $(MFLAGS) edb2ldif; \
- else \
- echo "run configure with --with-isode to build edb2ldif"; \
- fi
-
-edb2ldif: edb2-vers.o
- $(CC) $(LDFLAGS) -o $@ $(EDB2LDIFOBJS) edb2-vers.o $(LIBS)
+# CPPFLAGS will include the defines for dynamic libs in Mingw32.
+NT_DYN_DEFS = -DLBER_DECL=dllimport -DLDAP_DECL=dllimport
+CPPFLAGS = $(@PLAT@_@LIB_LINKAGE@_DEFS)
-edb2-vers.c: $(EDB2LDIFOBJS)
- $(RM) $@
- (u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
- t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
- -e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
- -e "s|%VERSION%|$${v}|" \
- < Vers-edb2.c > $@)
+SRCS = mimic.c slapcommon.c \
+ slapadd.c slapcat.c slapindex.c slappasswd.c
-build-chlog2replog: FORCE
- @if [ "$(HAVE_ISODE)" = "yes" ]; then \
- $(MAKE) $(MFLAGS) chlog2replog; \
- else \
- echo "run configure with --with-isode to build chlog2replog"; \
- fi
+SLAPD_OBJS = ../config.o ../ch_malloc.o ../backend.o ../charray.o \
+ ../module.o ../aclparse.o ../filterentry.o \
+ ../schema.o ../schema_check.o ../schema_init.o ../schema_prep.o \
+ ../schemaparse.o ../ad.o ../at.o ../mr.o ../oc.o ../syntax.o \
+ ../acl.o ../phonetic.o ../attr.o ../value.o ../entry.o \
+ ../dn.o ../filter.o ../str2filter.o ../ava.o ../init.o \
+ ../controls.o ../kerberos.o ../passwd.o ../index.o \
+ ../extended.o ../starttls.o ../sets.o ../mra.o ../mods.o
-chlog2replog: chlog2replog.o ../lock.o ../ch_malloc.o
- $(LTLINK) -o $@ chlog2replog.o ../lock.o ../ch_malloc.o $(LIBS)
+SLAPOBJS = $(SLAPD_OBJS) slapcommon.o mimic.o
-ldif2index: ldif2index.o ../libbackends.a $(OBJS2)
- $(LTLINK) -o $@ ldif2index.o $(OBJS2) ../libbackends.a $(LIBS)
+all-local: build-progs
-ldif2ldbm: ldif2ldbm.o ../libbackends.a $(OBJS2)
- $(LTLINK) -o $@ ldif2ldbm.o $(OBJS2) ../libbackends.a $(LIBS)
+build-progs: $(PROGRAMS)
-ldif2id2entry: ldif2id2entry.o ../libbackends.a $(OBJS2)
- $(LTLINK) -o $@ ldif2id2entry.o $(OBJS2) ../libbackends.a $(LIBS)
+#
+# SLAP Tools
+#
+slapadd: slapadd.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
+ $(LTLINK) -o $@ slapadd.o $(SLAPOBJS) ../libbackends.a $(LIBS)
-ldif2id2children: ldif2id2children.o ../libbackends.a $(OBJS2)
- $(LTLINK) -o $@ ldif2id2children.o $(OBJS2) ../libbackends.a $(LIBS)
+slapcat: slapcat.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
+ $(LTLINK) -o $@ slapcat.o $(SLAPOBJS) ../libbackends.a $(LIBS)
-ldbmcat: ldbmcat.o
- $(LTLINK) -o $@ ldbmcat.o $(LIBS)
+slapindex: slapindex.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
+ $(LTLINK) -o $@ slapindex.o $(SLAPOBJS) ../libbackends.a $(LIBS)
-ldif: ldif.o
- $(LTLINK) -o $@ ldif.o $(LIBS) $(LIBS2)
+slappasswd: slappasswd.o $(SLAPD_LIBDEPEND)
+ $(LTLINK) -o $@ slappasswd.o $(LIBS)
-centipede: centipede.o
- $(LTLINK) -o $@ centipede.o $(LIBS) $(KRBLIBFLAG) $(KRBLIBS)
+clean-local: FORCE
+ $(RM) $(PROGRAMS) $(XPROGRAMS) $(XSRCS) *.o core .libs/* *.exe
-sizecount: sizecount.o ../phonetic.o ../ch_malloc.o
- $(LTLINK) -o $@ sizecount.o ../phonetic.o ../ch_malloc.o \
- $(LIBS) $(KRBLIBFLAG) $(KRBLIBS)
+depend-local: FORCE
+ $(MKDEP) $(DEFS) $(DEFINES) $(SRCS)
-ldbmtest: ldbmtest.o ../libbackends.a $(OBJS2)
- $(LTLINK) -o ldbmtest ldbmtest.o $(OBJS2) ../libbackends.a $(LIBS)
+install-local: install-ldbm-$(BUILD_LDBM)
-clean-local: FORCE
- $(RM) $(PROGRAMS) $(XPROGRAMS) $(XSRCS) edb2-vers.c *.o a.out core \
- .libs/*
+install-ldbm-no:
-depend-local: FORCE
- @DEPEND=no ; DEPEND_LDBM= ; DEPEND_ISODE= ; \
- if [ "$(BUILD_LDBM)" = "yes" ]; then \
- DEPEND_LDBM="$(SRCS)"; \
- DEPEND=yes ; \
- fi; \
- if [ "$(HAVE_ISODE)" = "yes" ]; then \
- DEPEND_ISODE="$(ISODEINCLUDEFLAG) chlog2replog.c $(EDB2LDIFSRCS)"; \
- DEPEND=yes ; \
- fi; \
- if [ "$$DEPEND" = "yes" ]; then \
- $(MKDEP) $(DEFS) $(DEFINES) $$DEPEND_ISODE $$DEPEND_LDBM; \
- else \
- exit 0; \
- fi
-
-install-local: install-ldbm install-isode FORCE
-
-install-ldbm: FORCE
- @-$(MKDIR) -p $(sbindir)
- @if [ "$(BUILD_LDBM)" = "yes" ]; then \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif2ldbm $(sbindir) ; \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif2index $(sbindir) ; \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif2id2entry $(sbindir) ; \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif2id2children $(sbindir) ; \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 ldbmcat $(sbindir) ; \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 ldif $(sbindir) ; \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 centipede $(sbindir) ; \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 ldbmtest $(sbindir) ; \
- else \
- exit 0 ; \
- fi
-
-install-isode: FORCE
- @-$(MKDIR) -p $(sbindir)
- @if [ "$(HAVE_ISODE)" = "yes" ]; then \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 edb2ldif $(sbindir); \
- $(LTINSTALL) $(INSTALLFLAGS) -m 755 chlog2replog $(sbindir); \
- else \
- exit 0 ; \
- fi
+install-ldbm-yes install-ldbm-mod: FORCE
+ -$(MKDIR) $(DESTDIR)$(sbindir)
+ @for bin in $(PROGRAMS); do \
+ $(LTINSTALL) $(INSTALLFLAGS) -s -m 755 \
+ $$bin$(EXEEXT) $(DESTDIR)$(sbindir); \
+ done