]> git.sur5r.net Git - openldap/blob - libraries/liblmdb/Makefile
7c3903bdffc4e68d5fc8af1c506de6da9d2f0831
[openldap] / libraries / liblmdb / 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 IDOCS   = mdb_stat.1 mdb_copy.1
13 PROGS   = $(IPROGS) mtest mtest2 mtest3 mtest4 mtest5
14 all:    $(ILIBS) $(PROGS)
15
16 install: $(ILIBS) $(IPROGS) $(IHDRS)
17         cp $(IPROGS) $(DESTDIR)$(prefix)/bin
18         cp $(ILIBS) $(DESTDIR)$(prefix)/lib
19         cp $(IHDRS) $(DESTDIR)$(prefix)/include
20         cp $(IDOCS) $(DESTDIR)$(prefix)/man/man1
21
22 clean:
23         rm -rf $(PROGS) *.[ao] *.so *~ testdb
24
25 test:   all
26         mkdir testdb
27         ./mtest && ./mdb_stat testdb
28
29 liblmdb.a:      mdb.o midl.o
30         ar rs $@ mdb.o midl.o
31
32 liblmdb.so:     mdb.o midl.o
33         $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.o midl.o $(SOLIBS)
34
35 mdb_stat: mdb_stat.o liblmdb.a
36 mdb_copy: mdb_copy.o liblmdb.a
37 mtest:    mtest.o    liblmdb.a
38 mtest2: mtest2.o liblmdb.a
39 mtest3: mtest3.o liblmdb.a
40 mtest4: mtest4.o liblmdb.a
41 mtest5: mtest5.o liblmdb.a
42 mtest6: mtest6.o liblmdb.a
43
44 mdb.o: mdb.c lmdb.h midl.h
45         $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -c mdb.c
46
47 midl.o: midl.c midl.h
48         $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -c midl.c
49
50 %:      %.o
51         $(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@
52
53 %.o:    %.c lmdb.h
54         $(CC) $(CFLAGS) $(CPPFLAGS) -c $<