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 slappasswd 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 ../extended.o ../starttls.o
59 SLAPOBJS = $(SLAPD_OBJS) slapcommon.o mimic.o
61 EDB2LDIFSRCS = edb2ldif.c ldapsyntax.c
62 EDB2LDIFOBJS = edb2ldif.o ldapsyntax.o
64 UNIX_PRGS = build-ldbm build-bdb2 build-quipu
66 all-local: build-progs $(@PLAT@_PRGS)
68 build-progs: $(PROGRAMS)
70 build-ldbm: ldbm-tools-$(BUILD_LDBM)
72 @echo "run configure with --enable-ldbm to build LDBM tools"
74 ldbm-tools-yes ldbm-tools-mod: $(LDBMPROGRAMS)
76 build-bdb2: bdb2-tools-$(BUILD_BDB2)
78 @echo "run configure with --enable-bdb2 to build BDB2 tools"
80 bdb2-tools-yes bdb2-tools-mod: $(BDB2PROGRAMS)
82 build-quipu: quipu-tools-$(BUILD_QUIPU)
84 @echo "run configure with --enable-quipu to build QUIPU tools"
86 quipu-tools-yes quipu-tools-mod: $(QUIPUPROGRAMS)
91 slapadd: slapadd.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
92 $(LTLINK) -o $@ slapadd.o $(SLAPOBJS) ../libbackends.a $(LIBS)
94 slapcat: slapcat.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
95 $(LTLINK) -o $@ slapcat.o $(SLAPOBJS) ../libbackends.a $(LIBS)
97 slapindex: slapindex.o ../libbackends.a $(SLAPOBJS) $(SLAPD_LIBDEPEND)
98 $(LTLINK) -o $@ slapindex.o $(SLAPOBJS) ../libbackends.a $(LIBS)
100 ldif: ldif.o $(SLAPD_LIBDEPEND)
101 $(LTLINK) -o $@ ldif.o $(LIBS)
103 slappasswd: slappasswd.o $(SLAPD_LIBDEPEND)
104 $(LTLINK) -o $@ slappasswd.o $(LIBS)
107 # LDBM Specific Tools
109 centipede: centipede.o $(SLAPD_LIBDEPEND)
110 $(LTLINK) -o $@ centipede.o $(LIBS)
112 sizecount: sizecount.o ../phonetic.o ../ch_malloc.o $(SLAPD_LIBDEPEND)
113 $(LTLINK) -o $@ sizecount.o ../phonetic.o ../ch_malloc.o $(LIBS)
116 # BDBM Specific Tools
120 # QUIPU Specific Tools
122 edb2ldif: edb2-vers.o
123 $(CC) $(LDFLAGS) -o $@ $(EDB2LDIFOBJS) edb2-vers.o $(LIBS)
125 edb2-vers.c: $(EDB2LDIFOBJS)
127 $(MKVERSION) ebd2ldif > $@
129 chlog2replog: chlog2replog.o ../lock.o ../ch_malloc.o $(SLAPD_LIBDEPEND)
130 $(LTLINK) -o $@ chlog2replog.o ../lock.o ../ch_malloc.o $(LIBS)
133 $(RM) $(PROGRAMS) $(LDBMPROGRAMS) $(BDB2PROGRAMS) $(QUIPUPROGRAMS) \
134 $(XPROGRAMS) $(XSRCS) *.o core .libs/* *.exe
137 DEPEND_LDBM= ; DEPEND_BDB2= ; DEPEND_QUIPU= ; \
138 if [ "$(BUILD_LDBM)" != "no" ]; then \
139 DEPEND_LDBM="$(LDBMSRCS)"; \
141 if [ "$(BUILD_BDB2)" != "no" ]; then \
142 DEPEND_BDB2="$(BDBMSRCS)"; \
144 if [ "$(BUILD_QUIPU)" != "no" ]; then \
145 DEPEND_QUIPU="$(QUIPUINCLUDEFLAG) $(QUIPUSRCS)"; \
147 $(MKDEP) $(DEFS) $(DEFINES) $(SRCS) $$DEPEND_QUIPU \
148 $$DEPEND_LDBM $$DEPEND_BDB2
150 install-local: install-ldbm-$(BUILD_LDBM) install-bdb2-$(BUILD_BDB2) \
151 install-quipu-$(BUILD_QUIPU)
153 install-ldbm-no install-bdb2-no install-quipu-no:
155 install-ldbm-yes install-ldbm-mod: FORCE
156 -$(MKDIR) $(DESTDIR)$(sbindir)
157 @for bin in $(PROGRAMS); do \
158 $(LTINSTALL) $(INSTALLFLAGS) -m 755 $$bin$(EXEEXT) \
159 $(DESTDIR)$(sbindir); \
162 install-bdb2-yes install-bdb2-mod: FORCE
163 @-$(MKDIR) $(DESTDIR)$(sbindir)
165 install-quipu-yes: FORCE
166 @-$(MKDIR) $(DESTDIR)$(sbindir)
167 for bin in edb2ldif chlog2replog; do \
168 $(LTINSTALL) $(INSTALLFLAGS) -m 755 $$bin $(DESTDIR)$(sbindir); \