2 #-----------------------------------------------------------------------------
3 # Copyright (c) 1995 Regents of the University of Michigan.
6 # Redistribution and use in source and binary forms are permitted
7 # provided that this notice is preserved and that due credit is given
8 # to the University of Michigan at Ann Arbor. The name of the University
9 # may not be used to endorse or promote products derived from this
10 # software without specific prior written permission. This software
11 # is provided ``as is'' without express or implied warranty.
13 # Stand alone LDAP server tools makefile
15 #-----------------------------------------------------------------------------
16 BUILD_LDBM = @BUILD_LDBM@
17 BUILD_BDB2 = @BUILD_BDB2@
18 BUILD_QUIPU = @BUILD_QUIPU@
20 LDAP_INCDIR= ../../../include
21 LDAP_LIBDIR= ../../../libraries
24 SLAPD_MODULES = @SLAPD_MODULES_LIST@
25 XDEFS = $(MODULES_CPPFLAGS)
26 XLDFLAGS = $(MODULES_LDFLAGS) $(SLAPD_MODULES)
28 XLIBS = -lavl -lldif -lldbm -llutil -lldap_r -llber
29 XXLIBS = $(LDAPD_LIBS) $(SLAPD_LIBS) \
30 $(PERL_LDFLAGS) $(LDBM_LIBS) $(SECURITY_LIBS) \
31 $(LDIF_LIBS) $(LUTIL_LIBS)
32 XXXLIBS = $(LTHREAD_LIBS) $(MODULES_LIBS)
34 PROGRAMS=ldif slapadd slapcat slapindex
35 LDBMPROGRAMS=centipede sizecount
37 QUIPUPROGRAMS=chlog2replog edb2ldif
39 # CPPFLAGS will include the defines for dynamic libs in Mingw32.
40 NT_DYN_DEFS = -DLIBLBER_DECL=dllimport -DLIBLDAP_DECL=dllimport
41 CPPFLAGS = $(@PLAT@_@LIB_LINKAGE@_DEFS)
43 SRCS = ldif.c mimic.c slapcommon.c
47 LDBMSRCS = centipede.c sizecount.c
51 QUIPUSRCS = edb2ldif.c ldapsyntax.c chlog2replog.c
52 SLAPD_OBJS = ../config.o ../ch_malloc.o ../backend.o ../charray.o \
53 ../module.o ../aclparse.o ../schema.o ../filterentry.o \
54 ../acl.o ../phonetic.o ../attr.o ../value.o ../entry.o \
55 ../dn.o ../filter.o ../str2filter.o ../ava.o ../init.o \
56 ../controls.o ../schemaparse.o ../kerberos.o ../passwd.o
57 SLAPOBJS = $(SLAPD_OBJS) slapcommon.o mimic.o
59 EDB2LDIFSRCS = edb2ldif.c ldapsyntax.c
60 EDB2LDIFOBJS = edb2ldif.o ldapsyntax.o
62 UNIX_PRGS = build-ldbm build-bdb2 build-quipu
64 all-local: build-progs $(@PLAT@_PRGS)
66 build-progs: $(PROGRAMS)
68 build-ldbm: ldbm-tools-$(BUILD_LDBM)
70 @echo "run configure with --enable-ldbm to build LDBM tools"
72 ldbm-tools-yes ldbm-tools-mod: $(LDBMPROGRAMS)
74 build-bdb2: bdb2-tools-$(BUILD_BDB2)
76 @echo "run configure with --enable-bdb2 to build BDB2 tools"
78 bdb2-tools-yes bdb2-tools-mod: $(BDB2PROGRAMS)
80 build-quipu: quipu-tools-$(BUILD_QUIPU)
82 @echo "run configure with --enable-quipu to build QUIPU tools"
84 quipu-tools-yes quipu-tools-mod: $(QUIPUPROGRAMS)
89 slapadd: slapadd.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
90 $(LTLINK) -o $@ slapadd.o $(SLAPOBJS) ../libbackends.a $(LIBS)
92 slapcat: slapcat.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
93 $(LTLINK) -o $@ slapcat.o $(SLAPOBJS) ../libbackends.a $(LIBS)
95 slapindex: slapindex.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
96 $(LTLINK) -o $@ slapindex.o $(SLAPOBJS) ../libbackends.a $(LIBS)
98 ldif: ldif.o $(SLAPD_LIBDEPEND)
99 $(LTLINK) -o $@ ldif.o $(LIBS)
102 # LDBM Specific Tools
104 centipede: centipede.o $(SLAPD_LIBDEPEND)
105 $(LTLINK) -o $@ centipede.o $(LIBS)
107 sizecount: sizecount.o ../phonetic.o ../ch_malloc.o $(SLAPD_LIBDEPEND)
108 $(LTLINK) -o $@ sizecount.o ../phonetic.o ../ch_malloc.o $(LIBS)
111 # BDBM Specific Tools
115 # QUIPU Specific Tools
117 edb2ldif: edb2-vers.o
118 $(CC) $(LDFLAGS) -o $@ $(EDB2LDIFOBJS) edb2-vers.o $(LIBS)
120 edb2-vers.c: $(EDB2LDIFOBJS)
122 $(MKVERSION) ebd2ldif > $@
124 chlog2replog: chlog2replog.o ../lock.o ../ch_malloc.o $(SLAPD_LIBDEPEND)
125 $(LTLINK) -o $@ chlog2replog.o ../lock.o ../ch_malloc.o $(LIBS)
128 $(RM) $(PROGRAMS) $(LDBMPROGRAMS) $(BDB2PROGRAMS) $(QUIPUPROGRAMS) \
129 $(XPROGRAMS) $(XSRCS) *.o core .libs/* *.exe
132 DEPEND_LDBM= ; DEPEND_BDB2= ; DEPEND_QUIPU= ; \
133 if [ "$(BUILD_LDBM)" != "no" ]; then \
134 DEPEND_LDBM="$(LDBMSRCS)"; \
136 if [ "$(BUILD_BDB2)" != "no" ]; then \
137 DEPEND_BDB2="$(BDBMSRCS)"; \
139 if [ "$(BUILD_QUIPU)" != "no" ]; then \
140 DEPEND_QUIPU="$(QUIPUINCLUDEFLAG) $(QUIPUSRCS)"; \
142 $(MKDEP) $(DEFS) $(DEFINES) $(SRCS) $$DEPEND_QUIPU \
143 $$DEPEND_LDBM $$DEPEND_BDB2
145 install-local: install-ldbm-$(BUILD_LDBM) install-bdb2-$(BUILD_BDB2) \
146 install-quipu-$(BUILD_QUIPU)
148 install-ldbm-no install-bdb2-no install-quipu-no:
150 install-ldbm-yes install-ldbm-mod: FORCE
151 -$(MKDIR) $(DESTDIR)$(sbindir)
152 @for bin in $(PROGRAMS); do \
153 $(LTINSTALL) $(INSTALLFLAGS) -m 755 $$bin$(EXEEXT) \
154 $(DESTDIR)$(sbindir); \
157 install-bdb2-yes install-bdb2-mod: FORCE
158 @-$(MKDIR) $(DESTDIR)$(sbindir)
160 install-quipu-yes: FORCE
161 @-$(MKDIR) $(DESTDIR)$(sbindir)
162 for bin in edb2ldif chlog2replog; do \
163 $(LTINSTALL) $(INSTALLFLAGS) -m 755 $$bin $(DESTDIR)$(sbindir); \