0a0b95f7fe0b650fe4922195fed7585c170ce044
[metze/samba/wip.git] / source4 / lib / ldb / Makefile.ldb
1
2 # ldap support is optional edit WITH_LDAP to suit
3 WITH_LDAP=1
4
5 ifeq ($(WITH_LDAP),1)
6 OPENLDAP_PREFIX=/usr
7 LDAP_LIBS=-L$(OPENLDAP_PREFIX)/lib -lldap
8 LDAP_FLAGS=-DHAVE_LDAP=1
9 LDB_LDAP_OBJ=ldb_ldap/ldb_ldap.o
10 endif
11
12 TDBDIR=../tdb
13
14 CFLAGS=-Wall -Wall -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -g -Iinclude -I. -I.. -DSTANDALONE=1 -DUSE_MMAP=1 $(LDAP_FLAGS)
15 LIB_FLAGS=-Llib -lldb $(LDAP_LIBS)
16
17 TDB_OBJ=$(TDBDIR)/tdb.o $(TDBDIR)/spinlock.o
18
19 LDB_TDB_OBJ=ldb_tdb/ldb_match.o ldb_tdb/ldb_tdb.o \
20         ldb_tdb/ldb_pack.o ldb_tdb/ldb_search.o ldb_tdb/ldb_index.o \
21         ldb_tdb/ldb_cache.o
22
23
24 COMMON_OBJ=common/ldb.o common/ldb_ldif.o common/util.o \
25            common/ldb_parse.o common/ldb_msg.o common/ldb_utf8.o \
26            common/ldb_alloc.o
27
28 OBJS =  $(COMMON_OBJ) $(LDB_TDB_OBJ) $(TDB_OBJ) $(LDB_LDAP_OBJ)
29
30 LDB_LIB = lib/libldb.a
31
32 BINS = bin/ldbadd bin/ldbsearch bin/ldbdel bin/ldbmodify bin/ldbedit bin/ldbtest
33
34 LIBS = $(LDB_LIB)($(OBJS))
35
36 DIRS = lib bin
37
38 all: $(DIRS) $(BINS) $(LIBS)
39
40 lib:
41         mkdir -p lib
42
43 bin:
44         mkdir -p bin
45
46 lib/libldb.a: $(OBJS)
47
48 bin/ldbadd: tools/ldbadd.o $(LIBS)
49         $(CC) -o bin/ldbadd tools/ldbadd.o $(LIB_FLAGS)
50
51 bin/ldbsearch: tools/ldbsearch.o $(LIBS)
52         $(CC) -o bin/ldbsearch tools/ldbsearch.o $(LIB_FLAGS)
53
54 bin/ldbdel: tools/ldbdel.o $(LIBS)
55         $(CC) -o bin/ldbdel tools/ldbdel.o $(LIB_FLAGS)
56
57 bin/ldbmodify: tools/ldbmodify.o $(LIBS)
58         $(CC) -o bin/ldbmodify tools/ldbmodify.o $(LIB_FLAGS)
59
60 bin/ldbedit: tools/ldbedit.o $(LIBS)
61         $(CC) -o bin/ldbedit tools/ldbedit.o $(LIB_FLAGS)
62
63 bin/ldbtest: tools/ldbtest.o $(LIBS)
64         $(CC) -o bin/ldbtest tools/ldbtest.o $(LIB_FLAGS)
65
66 clean:
67         rm -f */*.o *~ */*~ $(BINS) $(LDB_LIB)
68
69 proto:
70         mkproto.pl */*.c > include/proto.h
71
72 etags:
73         etags */*.[ch]
74
75 test-tdb:
76         @echo "STARTING TDB BACKEND TEST"
77         tests/test-tdb.sh
78
79 test-ldap:
80         @echo "STARTING LDAP BACKEND TEST"
81         tests/test-ldap.sh
82
83 test: test-tdb test-ldap