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 daemon makefile
14 #-----------------------------------------------------------------------------
16 HDIR = $(LDAPSRC)/include
17 LDIR = $(LDAPSRC)/libraries
18 VERSIONFILE = $(LDAPSRC)/build/version
20 SRCS = main.c daemon.c connection.c search.c filter.c add.c charray.c \
21 attr.c entry.c config.c backend.c result.c operation.c \
22 dn.c compare.c modify.c delete.c modrdn.c ch_malloc.c \
23 value.c ava.c bind.c unbind.c abandon.c filterentry.c \
24 phonetic.c regex.c acl.c str2filter.c aclparse.c init.c \
25 detach.c strdup.c tempnam.c repl.c lock.c \
26 schema.c schemaparse.c monitor.c configinfo.c
27 OBJS = main.o daemon.o connection.o search.o filter.o add.o charray.o \
28 attr.o entry.o config.o backend.o result.o operation.o \
29 dn.o compare.o modify.o delete.o modrdn.o ch_malloc.o \
30 value.o ava.o bind.o unbind.o abandon.o filterentry.o \
31 phonetic.o regex.o acl.o str2filter.o aclparse.o init.o \
32 detach.o strdup.o tempnam.o repl.o lock.o \
33 schema.o schemaparse.o monitor.o configinfo.o
35 INCLUDES= -I. -I$(HDIR) $(KRBINCLUDEFLAG)
36 DEFINES = $(DEFS) $(LDAP_CRYPT) $(LDAP_TCP_WRAPPERS) $(SERVERDEFS)
37 CFLAGS = $(INCLUDES) $(THREADSINCLUDE) $(DEFINES) $(ACFLAGS) $(THREADS)
38 LDFLAGS = -L$(LDIR) $(KRBLIBFLAG)
39 LIBS = $(KRBLIBS) -llber -lldbm -lavl -llthread -lldif $(THREADSLIB) \
40 $(LDBMLIB) $(LDAP_CRYPT_LIB) $(LDAP_TCP_WRAPPERS_LIB) $(ALIBS)
43 @if [ -z "$(MAKESLAPD)" ]; then \
44 echo "uncomment the MAKESLAPD line in Make-common to make slapd"; \
48 $(MAKE) $(MFLAGS) backendslib; \
49 $(MAKE) $(MFLAGS) slapd; \
50 (cd tools; $(MAKE) $(MFLAGS) all); \
54 @for i in back-*; do \
56 echo; echo " cd $$i; $(MAKE) $(MFLAGS) all"; \
57 ( cd $$i; $(MAKE) $(MFLAGS) all ); \
61 $(MAKE) $(MFLAGS) libbackends.a
63 libbackends.a: .backend
66 @-for i in back-*/*.a; do \
70 pre=`echo $$i | sed -e 's/\/.*$$//' -e 's/back-//'`; \
74 $(AR) ruv libbackends.a *.o 2>&1 | grep -v truncated; \
75 $(RM) *.o __.SYMDEF; \
76 echo "added backend library $$i"; \
79 @mv -f tmp/libbackends.a ./libbackends.a
81 @if [ ! -z "$(RANLIB)" ]; then \
82 $(RANLIB) libbackends.a; \
87 $(CC) $(ALDFLAGS) -o slapd $(OBJS) version.o libbackends.a \
90 purify $(CC) $(ALDFLAGS) -o slapd.pure $(OBJS) version.o libbackends.a \
93 version.c: libbackends.a $(OBJS) $(LDIR)/liblber/liblber.a \
94 $(LDIR)/libldbm/libldbm.a $(LDIR)/liblthread/liblthread.a \
95 $(LDIR)/libavl/libavl.a $(LDIR)/libldif/libldif.a
97 (u=$${USER-root} v=`$(CAT) $(VERSIONFILE)` d=`$(PWD)` h=`$(HOSTNAME)` \
98 t=`$(DATE)`; $(SED) -e "s|%WHEN%|$${t}|" \
99 -e "s|%WHOANDWHERE%|$${u}@$${h}:$${d}|" \
100 -e "s|%VERSION%|$${v}|" \
103 install: all $(ETCDIR) $(ETCDIR)/slapd $(ETCDIR)/slapd.conf \
104 $(ETCDIR)/slapd.at.conf $(ETCDIR)/slapd.oc.conf \
107 $(ETCDIR)/slapd: slapd
108 $(INSTALL) $(INSTALLFLAGS) -m 755 slapd $(ETCDIR)
110 $(ETCDIR)/slapd.conf: slapd.conf
111 $(SED) -e 's;%ETCDIR%;$(RUNTIMEETCDIR);' slapd.conf > /tmp/slapd.$$
112 -$(MV) $(ETCDIR)/slapd.conf $(ETCDIR)/slapd.conf-
113 $(INSTALL) $(INSTALLFLAGS) -m 644 /tmp/slapd.$$ $(ETCDIR)/slapd.conf
114 $(RM) -f /tmp/slapd.$$
116 $(ETCDIR)/slapd.at.conf: slapd.at.conf
117 -$(MV) $(ETCDIR)/slapd.at.conf $(ETCDIR)/slapd.at.conf-
118 $(INSTALL) $(INSTALLFLAGS) -m 644 slapd.at.conf $(ETCDIR)
120 $(ETCDIR)/slapd.oc.conf: slapd.oc.conf
121 -$(MV) $(ETCDIR)/slapd.oc.conf $(ETCDIR)/slapd.oc.conf-
122 $(INSTALL) $(INSTALLFLAGS) -m 644 slapd.oc.conf $(ETCDIR)
125 (cd tools; $(MAKE) $(MFLAGS) install)
128 $(LINT) $(INCLUDES) $(DEFINES) $(SRCS)
131 $(5LINT) $(INCLUDES) $(DEFINES) $(SRCS)
134 @echo "making clean in `$(PWD)`"
135 $(RM) slapd slapd.pure *.o core a.out version.c libbackends.a .backend
136 @for i in back-* tools; do \
137 if [ -d $$i -a $$i != "RCS" ]; then \
138 echo; echo " cd $$i; $(MAKE) $(MFLAGS) clean"; \
139 ( cd $$i; $(MAKE) $(MFLAGS) clean ); \
144 $(MKDEP) $(INCLUDES) $(DEFINES) $(SRCS)
145 @for i in back-* tools; do \
146 if [ -d $$i -a $$i != "RCS" ]; then \
147 echo; echo " cd $$i; $(MAKE) $(MFLAGS) depend"; \
148 ( cd $$i; $(MAKE) $(MFLAGS) depend ); \
154 @echo "making links in `$(PWD)`"
155 @$(LN) .src/*.[ch] .src/*.conf .
157 @for i in .src/back-* .src/tools; do \
158 if [ -d $$i -a $$i != ".src/RCS" ]; then \
160 ( $(MKDIR) $$d; cd $$d; $(LN) ../.src/$$d .src; \
161 $(LN) ../.src/$$d/Make-template . ; \
162 $(MAKE) $(MFLAGS) MKDIR="$(MKDIR)" LN="$(LN)" \
163 -f Make-template links ) ; \
168 # DO NOT DELETE THIS LINE -- mkdep uses it.
169 # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
171 main.o: main.c ../../include/portable.h ../../include/avl.h
172 main.o: ../../include/ldap.h ../../include/lthread.h ../../include/ldapconfig.h
173 daemon.o: daemon.c ../../include/avl.h ../../include/ldap.h
174 daemon.o: ../../include/lthread.h ../../include/portable.h
175 connection.o: connection.c ../../include/portable.h ../../include/avl.h
176 connection.o: ../../include/ldap.h ../../include/lthread.h
177 search.o: search.c ../../include/proto-lber.h ../../include/proto-ldap.h
178 search.o: ../../include/ldif.h
179 filter.o: filter.c ../../include/proto-lber.h ../../include/proto-ldap.h
180 filter.o: ../../include/ldif.h
181 add.o: add.c ../../include/avl.h ../../include/ldap.h
182 add.o: ../../include/proto-ldap.h ../../include/ldif.h
183 charray.o: charray.c ../../include/proto-lber.h ../../include/proto-ldap.h
184 charray.o: ../../include/ldif.h
185 attr.o: attr.c ../../include/proto-lber.h ../../include/proto-ldap.h
186 attr.o: ../../include/ldif.h
187 entry.o: entry.c ../../include/avl.h ../../include/ldap.h
188 entry.o: ../../include/lthread.h
189 config.o: config.c ../../include/proto-lber.h ../../include/proto-ldap.h
190 config.o: ../../include/ldif.h
191 backend.o: backend.c ../../include/avl.h ../../include/ldap.h
192 backend.o: ../../include/lthread.h
193 result.o: result.c ../../include/portable.h ../../include/avl.h
194 result.o: ../../include/ldap.h ../../include/lthread.h
195 operation.o: operation.c ../../include/proto-lber.h ../../include/proto-ldap.h
196 operation.o: ../../include/ldif.h
197 dn.o: dn.c ../../include/portable.h ../../include/avl.h ../../include/ldap.h
198 dn.o: ../../include/lthread.h
199 compare.o: compare.c ../../include/avl.h ../../include/ldap.h
200 compare.o: ../../include/lthread.h
201 modify.o: modify.c ../../include/avl.h ../../include/ldap.h
202 modify.o: ../../include/proto-ldap.h ../../include/ldif.h
203 delete.o: delete.c ../../include/proto-lber.h ../../include/proto-ldap.h
204 delete.o: ../../include/ldif.h
205 modrdn.o: modrdn.c ../../include/proto-lber.h ../../include/proto-ldap.h
206 modrdn.o: ../../include/ldif.h
207 ch_malloc.o: ch_malloc.c ../../include/avl.h ../../include/ldap.h
208 ch_malloc.o: ../../include/lthread.h
209 value.o: value.c ../../include/portable.h ../../include/avl.h
210 value.o: ../../include/ldap.h ../../include/lthread.h
211 ava.o: ava.c ../../include/proto-lber.h ../../include/proto-ldap.h
212 ava.o: ../../include/ldif.h
213 bind.o: bind.c ../../include/proto-lber.h ../../include/proto-ldap.h
214 bind.o: ../../include/ldif.h
215 unbind.o: unbind.c ../../include/avl.h ../../include/ldap.h
216 unbind.o: ../../include/lthread.h
217 abandon.o: abandon.c ../../include/avl.h ../../include/ldap.h
218 abandon.o: ../../include/lthread.h
219 filterentry.o: filterentry.c ../../include/proto-lber.h
220 filterentry.o: ../../include/proto-ldap.h ../../include/ldif.h
221 phonetic.o: phonetic.c ../../include/portable.h ../../include/avl.h
222 phonetic.o: ../../include/ldap.h ../../include/lthread.h
224 acl.o: acl.c slap.h ../../include/proto-lber.h ../../include/proto-ldap.h
225 acl.o: ../../include/ldif.h
226 str2filter.o: str2filter.c ../../include/avl.h ../../include/ldap.h
227 str2filter.o: ../../include/lthread.h
228 aclparse.o: aclparse.c slap.h ../../include/proto-lber.h
229 aclparse.o: ../../include/proto-ldap.h ../../include/ldif.h
230 init.o: init.c ../../include/portable.h ../../include/avl.h
231 init.o: ../../include/ldap.h ../../include/lthread.h
235 repl.o: repl.c ../../include/proto-lber.h ../../include/lthread.h
236 lock.o: lock.c ../../include/avl.h ../../include/ldap.h ../../include/lthread.h
237 schema.o: schema.c ../../include/proto-lber.h ../../include/proto-ldap.h
238 schema.o: ../../include/ldif.h
239 schemaparse.o: schemaparse.c ../../include/avl.h ../../include/ldap.h
240 schemaparse.o: ../../include/lthread.h
241 monitor.o: monitor.c ../../include/avl.h ../../include/ldap.h
242 monitor.o: ../../include/proto-ldap.h ../../include/ldif.h
243 configinfo.o: configinfo.c ../../include/avl.h ../../include/ldap.h
244 configinfo.o: ../../include/lthread.h ../../include/ldapconfig.h
246 # IF YOU PUT ANYTHING HERE IT WILL GO AWAY