]> git.sur5r.net Git - openldap/blob - libraries/libmdb/Makefile
501921767068823e794da3f2b7f504ceaa25014d
[openldap] / libraries / libmdb / Makefile
1 CC      = gcc
2 W       = -W -Wall -Wno-unused-parameter -Wbad-function-cast
3 OPT = -O2 -g
4 CFLAGS  = -pthread $(OPT) $(W) $(XCFLAGS)
5 LDLIBS  =
6 SOLIBS  =
7 prefix  = /usr/local
8
9 IHDRS   = lmdb.h
10 ILIBS   = liblmdb.a liblmdb.so
11 IPROGS  = mdb_stat mdb_copy
12 PROGS   = $(IPROGS) mtest mtest2 mtest3 mtest4 mtest5
13 all:    $(ILIBS) $(PROGS)
14
15 install: $(ILIBS) $(IPROGS) $(IHDRS)
16         cp $(IPROGS) $(prefix)/bin
17         cp $(ILIBS) $(prefix)/lib
18         cp $(IHDRS) $(prefix)/include
19
20 clean:
21         rm -rf $(PROGS) *.[ao] *.so *~ testdb
22
23 test:   all
24         mkdir testdb
25         ./mtest && ./mdb_stat testdb
26
27 liblmdb.a:      mdb.o midl.o
28         ar rs $@ mdb.o midl.o
29
30 liblmdb.so:     mdb.o midl.o
31         gcc -pthread -shared -o $@ mdb.o midl.o $(SOLIBS)
32
33 mdb_stat: mdb_stat.o liblmdb.a
34 mdb_copy: mdb_copy.o liblmdb.a
35 mtest:    mtest.o    liblmdb.a
36 mtest2: mtest2.o liblmdb.a
37 mtest3: mtest3.o liblmdb.a
38 mtest4: mtest4.o liblmdb.a
39 mtest5: mtest5.o liblmdb.a
40 mtest6: mtest6.o liblmdb.a
41 mfree:  mfree.o liblmdb.a
42
43 mdb.o: mdb.c lmdb.h midl.h
44         $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -c mdb.c
45
46 midl.o: midl.c midl.h
47         $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -c midl.c
48
49 %:      %.o
50         $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@
51
52 %.o:    %.c lmdb.h
53         $(CC) $(CFLAGS) $(CPPFLAGS) -c $<