1 #-----------------------------------------------------------------------------
2 # Copyright (c) 1995 Regents of the University of Michigan.
5 # Redistribution and use in source and binary forms are permitted
6 # provided that this notice is preserved and that due credit is given
7 # to the University of Michigan at Ann Arbor. The name of the University
8 # may not be used to endorse or promote products derived from this
9 # software without specific prior written permission. This software
10 # is provided ``as is'' without express or implied warranty.
12 # Stand alone LDAP server tools makefile
14 #-----------------------------------------------------------------------------
16 HDIR = $(LDAPSRC)/include
17 LDIR = $(LDAPSRC)/libraries
18 VERSIONFILE = $(LDAPSRC)/build/version
20 EDB2LDIFSRCS = edb2ldif.c ldapsyntax.c
21 EDB2LDIFOBJS = edb2ldif.o ldapsyntax.o ../strdup.o
23 OBJS2 = ../config.o ../ch_malloc.o ../backend.o ../charray.o \
24 ../aclparse.o ../schema.o ../result.o ../filterentry.o \
25 ../acl.o ../phonetic.o ../attr.o ../value.o ../entry.o \
26 ../dn.o ../filter.o ../str2filter.o ../ava.o ../init.o \
27 ../schemaparse.o ../regex.o ../strdup.o
29 INCLUDES= -I. -I$(HDIR) $(EXINCLUDES)
30 DEFINES = $(DEFS) $(LDAP_CRYPT) $(SERVERDEFS) $(THREADS)
31 CFLAGS = $(INCLUDES) $(DEFINES) $(ACFLAGS)
32 LDFLAGS = -L$(LDIR) $(EXLDFLAGS)
33 LIBS = -lldif -lldap -llber -lldbm -lavl $(LDBMLIB) $(EXLIBS) $(ALIBS)
34 LIBS2 = -lldif -lldbm -lavl $(LDBMLIB) -llber $(KRBLIBFLAG) $(KRBLIBS) \
35 -llthread $(THREADSLIB) $(ALIBS) $(LDAP_CRYPT_LIB)
37 all: build-edb2ldif ldif2index ldif2ldbm ldbmcat ldif2id2entry \
38 ldif2id2children centipede ldbmtest ldif
41 @if [ "$(HAVEISODE)" = "yes" ]; then \
42 $(MAKE) $(MFLAGS) CC=$(CC) EXINCLUDES="$(ISODEINCLUDEFLAG)" \
43 EXLDFLAGS="$(ISODELIBFLAG)" EXLIBS="$(ISODELIBS)" edb2ldif; \
45 echo "uncomment the HAVEISODE=yes line in the Make-common file to build edb2ldif"; \
49 $(CC) $(ALDFLAGS) -o $@ $(EDB2LDIFOBJS) edb2-vers.o \
52 edb2-vers.c: $(EDB2LDIFOBJS)
54 (u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
55 t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
56 -e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
57 -e "s|%VERSION%|$${v}|" \
60 build-chlog2replog: FORCE
61 @if [ "$(HAVEISODE)" = "yes" ]; then \
62 $(MAKE) $(MFLAGS) CC=$(CC) EXINCLUDES="$(ISODEINCLUDEFLAG)" \
63 EXLDFLAGS="$(ISODELIBFLAG)" EXLIBS="$(ISODELIBS)" chlog2replog; \
65 echo "uncomment the HAVEISODE=yes line in the Make-common file to build chlog2replog"; \
68 chlog2replog: chlog2replog.o ../lock.o ../ch_malloc.o
69 $(CC) $(ALDFLAGS) -o $@ chlog2replog.o ../lock.o ../ch_malloc.o \
72 ldif2index: ldif2index.o ../libbackends.a $(OBJS2)
73 $(CC) $(ALDFLAGS) -o $@ ldif2index.o $(OBJS2) \
74 ../libbackends.a $(LDFLAGS) $(LIBS2)
76 ldif2ldbm: ldif2ldbm.sed.o ../libbackends.a $(OBJS2)
77 $(CC) $(ALDFLAGS) -o $@ ldif2ldbm.sed.o $(OBJS2) \
78 ../libbackends.a $(LDFLAGS) $(LIBS2)
80 ldif2ldbm.sed.c: ldif2ldbm.c
81 $(SED) -e 's;%ETCDIR%;$(RUNTIMEETCDIR);' \
82 -e 's;%SBINDIR%;$(SBINDIR);' \
83 ldif2ldbm.c > ldif2ldbm.sed.c
85 ldif2id2entry: ldif2id2entry.o ../libbackends.a $(OBJS2)
86 $(CC) $(ALDFLAGS) -o $@ ldif2id2entry.o $(OBJS2) \
87 ../libbackends.a $(LDFLAGS) $(LIBS2)
89 ldif2id2children: ldif2id2children.o ../libbackends.a $(OBJS2)
90 $(CC) $(ALDFLAGS) -o $@ ldif2id2children.o $(OBJS2) \
91 ../libbackends.a $(LDFLAGS) $(LIBS2)
94 $(CC) $(ALDFLAGS) -o $@ ldbmcat.o $(LDFLAGS) $(LIBS)
97 $(CC) $(ALDFLAGS) -o $@ ldif.o $(LDFLAGS) $(LIBS) $(LIBS2)
99 centipede: centipede.o
100 $(CC) $(ALDFLAGS) -o $@ centipede.o $(LDFLAGS) $(LIBS) \
101 $(KRBLIBFLAG) $(KRBLIBS)
103 sizecount: sizecount.o ../phonetic.o ../ch_malloc.o
104 $(CC) $(ALDFLAGS) -o $@ sizecount.o ../phonetic.o ../ch_malloc.o \
105 $(LDFLAGS) $(LIBS) $(KRBLIBFLAG) $(KRBLIBS)
107 ldbmtest: ldbmtest.o ../libbackends.a $(OBJS2)
108 $(CC) $(ALDFLAGS) -o ldbmtest ldbmtest.o $(OBJS2) \
109 ../libbackends.a $(LDFLAGS) $(LIBS2)
111 install: $(SBINDIR) $(SBINDIR)/edb2ldif $(SBINDIR)/ldif2ldbm \
112 $(SBINDIR)/ldif2index $(SBINDIR)/ldif2id2entry \
113 $(SBINDIR)/ldif2id2children $(SBINDIR)/ldbmcat \
114 $(SBINDIR)/centipede $(SBINDIR)/ldbmtest \
117 $(SBINDIR)/edb2ldif: build-edb2ldif
118 @if [ "$(HAVEISODE)" = "yes" ]; then \
119 $(INSTALL) $(INSTALLFLAGS) -m 755 edb2ldif $(SBINDIR); \
124 $(SBINDIR)/chlog2replog: build-chlog2replog
125 @if [ "$(HAVEISODE)" = "yes" ]; then \
126 $(INSTALL) $(INSTALLFLAGS) -m 755 chlog2replog $(SBINDIR); \
131 $(SBINDIR)/ldif2ldbm: ldif2ldbm
132 $(INSTALL) $(INSTALLFLAGS) -m 755 ldif2ldbm $(SBINDIR)
134 $(SBINDIR)/ldif2index: ldif2index
135 $(INSTALL) $(INSTALLFLAGS) -m 755 ldif2index $(SBINDIR)
137 $(SBINDIR)/ldif2id2entry: ldif2id2entry
138 $(INSTALL) $(INSTALLFLAGS) -m 755 ldif2id2entry $(SBINDIR)
140 $(SBINDIR)/ldif2id2children: ldif2id2children
141 $(INSTALL) $(INSTALLFLAGS) -m 755 ldif2id2children $(SBINDIR)
143 $(SBINDIR)/ldbmcat: ldbmcat
144 $(INSTALL) $(INSTALLFLAGS) -m 755 ldbmcat $(SBINDIR)
146 $(SBINDIR)/ldif: ldif
147 $(INSTALL) $(INSTALLFLAGS) -m 755 ldif $(SBINDIR)
149 $(SBINDIR)/centipede: centipede
150 $(INSTALL) $(INSTALLFLAGS) -m 755 centipede $(SBINDIR)
152 $(SBINDIR)/ldbmtest: ldbmtest
153 $(INSTALL) $(INSTALLFLAGS) -m 755 ldbmtest $(SBINDIR)
156 $(LINT) $(INCLUDES) $(DEFINES) $(SRCS)
159 $(5LINT) $(INCLUDES) $(DEFINES) $(SRCS)
162 @echo "making clean in `$(PWD)`"
163 $(RM) edb2ldif ldif2index *.o core a.out edb2-vers.c \
164 ldif2ldbm ldif2id2entry ldif2id2children ldbmcat ldif \
165 centipede chlog2replog sizecount ldif2ldbm.sed.c ldbmtest
167 depend: ldif2ldbm.sed.c FORCE
168 @if [ ! -z "$(HAVEISODE)" ]; then \
169 DEPENDEXTRAS="$(ISODEINCLUDEFLAG) chlog2replog.c $(EDB2LDIFSRCS)"; \
171 $(MKDEP) $(INCLUDES) $(DEFINES) $$DEPENDEXTRAS ldif2index.c \
172 ldif2ldbm.c ldif2id2entry.c ldif2id2children.c ldbmcat.c \
173 centipede.c sizecount.c ldif2ldbm.sed.c ldbmtest.c ldif.c
176 @echo "making links in `$(PWD)`"
180 # DO NOT DELETE THIS LINE -- mkdep uses it.
181 # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
183 ldif2index.o: ldif2index.c ../../../include/avl.h ../../../include/proto-lber.h
184 ldif2index.o: ../../../include/proto-ldap.h ../../../include/ldif.h
185 ldif2ldbm.o: ldif2ldbm.c ../../../include/proto-lber.h
186 ldif2ldbm.o: ../../../include/proto-ldap.h ../../../include/ldif.h
187 ldif2ldbm.o: ../../../include/ldbm.h
188 ldif2id2entry.o: ldif2id2entry.c ../../../include/avl.h
189 ldif2id2entry.o: ../../../include/proto-lber.h ../../../include/proto-ldap.h
190 ldif2id2entry.o: ../../../include/ldif.h ../../../include/ldbm.h
191 ldif2id2children.o: ldif2id2children.c ../../../include/avl.h
192 ldif2id2children.o: ../../../include/proto-lber.h ../../../include/proto-ldap.h
193 ldif2id2children.o: ../../../include/ldif.h ../../../include/ldbm.h
194 ldbmcat.o: ldbmcat.c ../../../include/proto-lber.h
195 ldbmcat.o: ../../../include/proto-ldap.h ../../../include/ldif.h
196 centipede.o: centipede.c ../../../include/proto-lber.h
197 centipede.o: ../../../include/proto-ldap.h ../../../include/ldbm.h
198 sizecount.o: sizecount.c ../../../include/lber.h ../../../include/ldap.h
199 sizecount.o: ../../../include/proto-ldap.h
200 ldif2ldbm.sed.o: ldif2ldbm.sed.c ../../../include/avl.h
201 ldif2ldbm.sed.o: ../../../include/proto-lber.h ../../../include/proto-ldap.h
202 ldif2ldbm.sed.o: ../../../include/ldif.h ../../../include/ldbm.h
203 ldbmtest.o: ldbmtest.c ../../../include/ldapconfig.h ../../../include/avl.h
204 ldbmtest.o: ../../../include/proto-lber.h ../../../include/proto-ldap.h
205 ldbmtest.o: ../../../include/ldif.h ../../../include/ldbm.h
206 ldbmtest.o: ../back-ldbm/proto-back-ldbm.h
207 ldif.o: ldif.c ../../../include/proto-lber.h ../../../include/proto-ldap.h
209 # IF YOU PUT ANYTHING HERE IT WILL GO AWAY