]> git.sur5r.net Git - openldap/blob - servers/slapd/tools/Make-template
LDAPworld P3: SLAPD LDBM Generation with Multiple Backends
[openldap] / servers / slapd / tools / Make-template
1 #-----------------------------------------------------------------------------
2 # Copyright (c) 1995 Regents of the University of Michigan.
3 # All rights reserved.
4 #
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.
11 #
12 #       Stand alone LDAP server tools makefile
13 #
14 #-----------------------------------------------------------------------------
15 LDAPSRC = ../../..
16 HDIR    = $(LDAPSRC)/include
17 LDIR    = $(LDAPSRC)/libraries
18 VERSIONFILE = $(LDAPSRC)/build/version
19
20 EDB2LDIFSRCS    = edb2ldif.c ldapsyntax.c
21 EDB2LDIFOBJS    = edb2ldif.o ldapsyntax.o ../strdup.o
22
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
28
29 INCLUDES= -I. -I$(HDIR) $(EXINCLUDES)
30 DEFINES = $(DEFS) $(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)
36
37 all:    build-edb2ldif ldif2index ldif2ldbm ldbmcat ldif2id2entry \
38                 ldif2id2children centipede ldbmtest ldif
39
40 build-edb2ldif: FORCE
41         @if [ "$(HAVEISODE)" = "yes" ]; then \
42             $(MAKE) $(MFLAGS) CC=$(CC) EXINCLUDES="$(ISODEINCLUDEFLAG)" \
43                 EXLDFLAGS="$(ISODELIBFLAG)" EXLIBS="$(ISODELIBS)" edb2ldif; \
44         else \
45             echo "uncomment the HAVEISODE=yes line in the Make-common file to build edb2ldif"; \
46         fi
47
48 edb2ldif:       edb2-vers.o
49         $(CC) $(ALDFLAGS) -o $@ $(EDB2LDIFOBJS) edb2-vers.o \
50                 $(LDFLAGS) $(LIBS)
51
52 edb2-vers.c: $(EDB2LDIFOBJS)
53         $(RM) $@
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}|" \
58         < Vers-edb2.c > $@)
59
60 build-chlog2replog: FORCE
61         @if [ "$(HAVEISODE)" = "yes" ]; then \
62             $(MAKE) $(MFLAGS) CC=$(CC) EXINCLUDES="$(ISODEINCLUDEFLAG)" \
63                 EXLDFLAGS="$(ISODELIBFLAG)" EXLIBS="$(ISODELIBS)" chlog2replog; \
64         else \
65             echo "uncomment the HAVEISODE=yes line in the Make-common file to build chlog2replog"; \
66         fi
67
68 chlog2replog: chlog2replog.o ../lock.o ../ch_malloc.o
69         $(CC) $(ALDFLAGS) -o $@ chlog2replog.o ../lock.o ../ch_malloc.o \
70         $(LDFLAGS) $(LIBS)
71
72 ldif2index:     ldif2index.o ../libbackends.a $(OBJS2)
73         $(CC) $(ALDFLAGS) -o $@ ldif2index.o $(OBJS2) \
74                 ../libbackends.a $(LDFLAGS) $(LIBS2)
75
76 ldif2ldbm:      ldif2ldbm.sed.o ../libbackends.a $(OBJS2)
77         $(CC) $(ALDFLAGS) -o $@ ldif2ldbm.sed.o $(OBJS2) \
78                 ../libbackends.a $(LDFLAGS) $(LIBS2)
79
80 ldif2ldbm.sed.c: ldif2ldbm.c
81         $(SED) -e 's;%ETCDIR%;$(RUNTIMEETCDIR);' ldif2ldbm.c > ldif2ldbm.sed.c
82
83 ldif2id2entry:  ldif2id2entry.o ../libbackends.a $(OBJS2)
84         $(CC) $(ALDFLAGS) -o $@ ldif2id2entry.o $(OBJS2) \
85                 ../libbackends.a $(LDFLAGS) $(LIBS2)
86
87 ldif2id2children:       ldif2id2children.o ../libbackends.a $(OBJS2)
88         $(CC) $(ALDFLAGS) -o $@ ldif2id2children.o $(OBJS2) \
89                 ../libbackends.a $(LDFLAGS) $(LIBS2)
90
91 ldbmcat:        ldbmcat.o
92         $(CC) $(ALDFLAGS) -o $@ ldbmcat.o $(LDFLAGS) $(LIBS)
93
94 ldif:           ldif.o
95         $(CC) $(ALDFLAGS) -o $@ ldif.o $(LDFLAGS) $(LIBS) $(LIBS2)
96
97 centipede:      centipede.o 
98         $(CC) $(ALDFLAGS) -o $@ centipede.o $(LDFLAGS) $(LIBS) \
99                 $(KRBLIBFLAG) $(KRBLIBS)
100
101 sizecount:      sizecount.o ../phonetic.o ../ch_malloc.o
102         $(CC) $(ALDFLAGS) -o $@ sizecount.o ../phonetic.o ../ch_malloc.o \
103                 $(LDFLAGS) $(LIBS) $(KRBLIBFLAG) $(KRBLIBS)
104
105 ldbmtest:       ldbmtest.o ../libbackends.a $(OBJS2)
106         $(CC) $(ALDFLAGS) -o ldbmtest ldbmtest.o $(OBJS2) \
107                 ../libbackends.a $(LDFLAGS) $(LIBS2)
108
109 install: $(ETCDIR) $(ETCDIR)/edb2ldif $(ETCDIR)/ldif2ldbm \
110         $(ETCDIR)/ldif2index $(ETCDIR)/ldif2id2entry \
111         $(ETCDIR)/ldif2id2children $(ETCDIR)/ldbmcat \
112         $(ETCDIR)/centipede $(ETCDIR)/ldbmtest \
113         $(ETCDIR)/ldif
114
115 $(ETCDIR)/edb2ldif:     build-edb2ldif
116         @if [ "$(HAVEISODE)" = "yes" ]; then \
117                 $(INSTALL) $(INSTALLFLAGS) -m 755 edb2ldif $(ETCDIR); \
118         else \
119                 exit 0; \
120         fi
121
122 $(ETCDIR)/chlog2replog: build-chlog2replog
123         @if [ "$(HAVEISODE)" = "yes" ]; then \
124                 $(INSTALL) $(INSTALLFLAGS) -m 755 chlog2replog $(ETCDIR); \
125         else \
126                 exit 0; \
127         fi
128
129 $(ETCDIR)/ldif2ldbm:    ldif2ldbm
130         $(INSTALL) $(INSTALLFLAGS) -m 755 ldif2ldbm $(ETCDIR)
131
132 $(ETCDIR)/ldif2index:   ldif2index
133         $(INSTALL) $(INSTALLFLAGS) -m 755 ldif2index $(ETCDIR)
134
135 $(ETCDIR)/ldif2id2entry:        ldif2id2entry
136         $(INSTALL) $(INSTALLFLAGS) -m 755 ldif2id2entry $(ETCDIR)
137
138 $(ETCDIR)/ldif2id2children:     ldif2id2children
139         $(INSTALL) $(INSTALLFLAGS) -m 755 ldif2id2children $(ETCDIR)
140
141 $(ETCDIR)/ldbmcat:      ldbmcat
142         $(INSTALL) $(INSTALLFLAGS) -m 755 ldbmcat $(ETCDIR)
143
144 $(ETCDIR)/ldif: ldif
145         $(INSTALL) $(INSTALLFLAGS) -m 755 ldif $(ETCDIR)
146
147 $(ETCDIR)/centipede:    centipede
148         $(INSTALL) $(INSTALLFLAGS) -m 755 centipede $(ETCDIR)
149
150 $(ETCDIR)/ldbmtest:     ldbmtest
151         $(INSTALL) $(INSTALLFLAGS) -m 755 ldbmtest $(ETCDIR)
152
153 lint:   FORCE
154         $(LINT) $(INCLUDES) $(DEFINES) $(SRCS)
155
156 5lint:  FORCE
157         $(5LINT) $(INCLUDES) $(DEFINES) $(SRCS)
158
159 clean:  FORCE
160         @echo "making clean in `$(PWD)`"
161         $(RM) edb2ldif ldif2index *.o core a.out edb2-vers.c \
162                 ldif2ldbm ldif2id2entry ldif2id2children ldbmcat ldif \
163                 centipede chlog2replog sizecount ldif2ldbm.sed.c ldbmtest
164
165 depend: ldif2ldbm.sed.c FORCE
166         @if [ ! -z "$(HAVEISODE)" ]; then \
167             DEPENDEXTRAS="$(ISODEINCLUDEFLAG) chlog2replog.c $(EDB2LDIFSRCS)"; \
168         fi; \
169         $(MKDEP) $(INCLUDES) $(DEFINES) $$DEPENDEXTRAS ldif2index.c \
170             ldif2ldbm.c ldif2id2entry.c ldif2id2children.c ldbmcat.c \
171             centipede.c sizecount.c ldif2ldbm.sed.c ldbmtest.c ldif.c
172
173 links:
174         @echo "making links in `$(PWD)`"
175         @$(LN) .src/*.[ch] .
176
177
178 # DO NOT DELETE THIS LINE -- mkdep uses it.
179 # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
180
181 ldif2index.o: ldif2index.c ../../../include/avl.h ../../../include/proto-lber.h
182 ldif2index.o: ../../../include/proto-ldap.h ../../../include/ldif.h
183 ldif2ldbm.o: ldif2ldbm.c ../../../include/proto-lber.h
184 ldif2ldbm.o: ../../../include/proto-ldap.h ../../../include/ldif.h
185 ldif2ldbm.o: ../../../include/ldbm.h
186 ldif2id2entry.o: ldif2id2entry.c ../../../include/avl.h
187 ldif2id2entry.o: ../../../include/proto-lber.h ../../../include/proto-ldap.h
188 ldif2id2entry.o: ../../../include/ldif.h ../../../include/ldbm.h
189 ldif2id2children.o: ldif2id2children.c ../../../include/avl.h
190 ldif2id2children.o: ../../../include/proto-lber.h ../../../include/proto-ldap.h
191 ldif2id2children.o: ../../../include/ldif.h ../../../include/ldbm.h
192 ldbmcat.o: ldbmcat.c ../../../include/proto-lber.h
193 ldbmcat.o: ../../../include/proto-ldap.h ../../../include/ldif.h
194 centipede.o: centipede.c ../../../include/proto-lber.h
195 centipede.o: ../../../include/proto-ldap.h ../../../include/ldbm.h
196 sizecount.o: sizecount.c ../../../include/lber.h ../../../include/ldap.h
197 sizecount.o: ../../../include/proto-ldap.h
198 ldif2ldbm.sed.o: ldif2ldbm.sed.c ../../../include/avl.h
199 ldif2ldbm.sed.o: ../../../include/proto-lber.h ../../../include/proto-ldap.h
200 ldif2ldbm.sed.o: ../../../include/ldif.h ../../../include/ldbm.h
201 ldbmtest.o: ldbmtest.c ../../../include/ldapconfig.h ../../../include/avl.h
202 ldbmtest.o: ../../../include/proto-lber.h ../../../include/proto-ldap.h
203 ldbmtest.o: ../../../include/ldif.h ../../../include/ldbm.h
204 ldbmtest.o: ../back-ldbm/proto-back-ldbm.h
205 ldif.o: ldif.c ../../../include/proto-lber.h ../../../include/proto-ldap.h
206
207 # IF YOU PUT ANYTHING HERE IT WILL GO AWAY