2 ## Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
3 ## COPYING RESTRICTIONS APPLY, see COPYRIGHT file
4 #-----------------------------------------------------------------------------
5 # Portions Copyright (c) 1995 Regents of the University of Michigan.
8 # Redistribution and use in source and binary forms are permitted
9 # provided that this notice is preserved and that due credit is given
10 # to the University of Michigan at Ann Arbor. The name of the University
11 # may not be used to endorse or promote products derived from this
12 # software without specific prior written permission. This software
13 # is provided ``as is'' without express or implied warranty.
15 # Stand alone LDAP server tools makefile
17 #-----------------------------------------------------------------------------
18 BUILD_LDBM = @BUILD_LDBM@
19 BUILD_BDB2 = @BUILD_BDB2@
20 BUILD_QUIPU = @BUILD_QUIPU@
22 LDAP_INCDIR= ../../../include
23 LDAP_LIBDIR= ../../../libraries
26 SLAPD_MODULES = @SLAPD_MODULES_LIST@
27 XDEFS = $(MODULES_CPPFLAGS)
28 XLDFLAGS = $(MODULES_LDFLAGS) $(SLAPD_MODULES)
30 XLIBS = -lavl -lldif -lldbm -llutil -lldap_r -llber
31 XXLIBS = $(LDAPD_LIBS) $(SLAPD_LIBS) \
32 $(LDBM_LIBS) $(SECURITY_LIBS) \
33 $(LDIF_LIBS) $(LUTIL_LIBS)
34 XXXLIBS = $(LTHREAD_LIBS) $(MODULES_LIBS)
36 PROGRAMS=ldif slappasswd slapadd slapcat slapindex
37 LDBMPROGRAMS=centipede sizecount
39 QUIPUPROGRAMS=chlog2replog edb2ldif
41 # CPPFLAGS will include the defines for dynamic libs in Mingw32.
42 NT_DYN_DEFS = -DLIBLBER_DECL=dllimport -DLIBLDAP_DECL=dllimport
43 CPPFLAGS = $(@PLAT@_@LIB_LINKAGE@_DEFS)
45 SRCS = ldif.c mimic.c slapcommon.c
49 LDBMSRCS = centipede.c sizecount.c
53 QUIPUSRCS = edb2ldif.c ldapsyntax.c chlog2replog.c
54 SLAPD_OBJS = ../config.o ../ch_malloc.o ../backend.o ../charray.o \
55 ../module.o ../aclparse.o ../filterentry.o \
56 ../schema.o ../schema_check.o ../schema_init.o ../schema_prep.o \
57 ../schemaparse.o ../ad.o ../at.o ../mr.o ../oc.o ../syntax.o \
58 ../acl.o ../phonetic.o ../attr.o ../value.o ../entry.o \
59 ../dn.o ../filter.o ../str2filter.o ../ava.o ../init.o \
60 ../controls.o ../kerberos.o ../passwd.o \
61 ../extended.o ../starttls.o
63 SLAPOBJS = $(SLAPD_OBJS) slapcommon.o mimic.o
65 EDB2LDIFSRCS = edb2ldif.c ldapsyntax.c
66 EDB2LDIFOBJS = edb2ldif.o ldapsyntax.o
68 UNIX_PRGS = build-ldbm build-bdb2 build-quipu
70 all-local: build-progs $(@PLAT@_PRGS)
72 build-progs: $(PROGRAMS)
74 build-ldbm: ldbm-tools-$(BUILD_LDBM)
76 @echo "run configure with --enable-ldbm to build LDBM tools"
78 ldbm-tools-yes ldbm-tools-mod: $(LDBMPROGRAMS)
80 build-bdb2: bdb2-tools-$(BUILD_BDB2)
82 @echo "run configure with --enable-bdb2 to build BDB2 tools"
84 bdb2-tools-yes bdb2-tools-mod: $(BDB2PROGRAMS)
86 build-quipu: quipu-tools-$(BUILD_QUIPU)
88 @echo "run configure with --enable-quipu to build QUIPU tools"
90 quipu-tools-yes quipu-tools-mod: $(QUIPUPROGRAMS)
95 slapadd: slapadd.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
96 $(LTLINK) -o $@ slapadd.o $(SLAPOBJS) ../libbackends.a $(LIBS)
98 slapcat: slapcat.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
99 $(LTLINK) -o $@ slapcat.o $(SLAPOBJS) ../libbackends.a $(LIBS)
101 slapindex: slapindex.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
102 $(LTLINK) -o $@ slapindex.o $(SLAPOBJS) ../libbackends.a $(LIBS)
104 ldif: ldif.o $(SLAPD_LIBDEPEND)
105 $(LTLINK) -o $@ ldif.o $(LIBS)
107 slappasswd: slappasswd.o $(SLAPD_LIBDEPEND)
108 $(LTLINK) -o $@ slappasswd.o $(LIBS)
111 # LDBM Specific Tools
113 centipede: centipede.o $(SLAPD_LIBDEPEND)
114 $(LTLINK) -o $@ centipede.o $(LIBS)
116 sizecount: sizecount.o ../phonetic.o ../ch_malloc.o $(SLAPD_LIBDEPEND)
117 $(LTLINK) -o $@ sizecount.o ../phonetic.o ../ch_malloc.o $(LIBS)
120 # BDBM Specific Tools
124 # QUIPU Specific Tools
126 edb2ldif: edb2-vers.o
127 $(CC) $(LDFLAGS) -o $@ $(EDB2LDIFOBJS) edb2-vers.o $(LIBS)
129 edb2-vers.c: $(EDB2LDIFOBJS)
131 $(MKVERSION) ebd2ldif > $@
133 chlog2replog: chlog2replog.o ../lock.o ../ch_malloc.o $(SLAPD_LIBDEPEND)
134 $(LTLINK) -o $@ chlog2replog.o ../lock.o ../ch_malloc.o $(LIBS)
137 $(RM) $(PROGRAMS) $(LDBMPROGRAMS) $(BDB2PROGRAMS) $(QUIPUPROGRAMS) \
138 $(XPROGRAMS) $(XSRCS) *.o core .libs/* *.exe
141 DEPEND_LDBM= ; DEPEND_BDB2= ; DEPEND_QUIPU= ; \
142 if [ "$(BUILD_LDBM)" != "no" ]; then \
143 DEPEND_LDBM="$(LDBMSRCS)"; \
145 if [ "$(BUILD_BDB2)" != "no" ]; then \
146 DEPEND_BDB2="$(BDBMSRCS)"; \
148 if [ "$(BUILD_QUIPU)" != "no" ]; then \
149 DEPEND_QUIPU="$(QUIPUINCLUDEFLAG) $(QUIPUSRCS)"; \
151 $(MKDEP) $(DEFS) $(DEFINES) $(SRCS) $$DEPEND_QUIPU \
152 $$DEPEND_LDBM $$DEPEND_BDB2
154 install-local: install-ldbm-$(BUILD_LDBM) install-bdb2-$(BUILD_BDB2) \
155 install-quipu-$(BUILD_QUIPU)
157 install-ldbm-no install-bdb2-no install-quipu-no:
159 install-ldbm-yes install-ldbm-mod: FORCE
160 -$(MKDIR) $(DESTDIR)$(sbindir)
161 @for bin in $(PROGRAMS); do \
162 $(LTINSTALL) $(INSTALLFLAGS) -s -m 755 \
163 $$bin$(EXEEXT) $(DESTDIR)$(sbindir); \
166 install-bdb2-yes install-bdb2-mod: FORCE
167 @-$(MKDIR) $(DESTDIR)$(sbindir)
169 install-quipu-yes: FORCE
170 @-$(MKDIR) $(DESTDIR)$(sbindir)
171 for bin in edb2ldif chlog2replog; do \
172 $(LTINSTALL) $(INSTALLFLAGS) -s -m 755 \
173 $$bin $(DESTDIR)$(sbindir); \