X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Fliblmdb%2FMakefile;h=bb0b1e8c72a37411cafc874769dd38facd096d91;hb=277526d0f00489637798f84b5cf4e8d65a1690ca;hp=4ff16df01bbbf6bc21d38bb69f739f3db007ff53;hpb=d8b407d9a27a8c9d183cb532f1d4bccbf0002401;p=openldap diff --git a/libraries/liblmdb/Makefile b/libraries/liblmdb/Makefile index 4ff16df01b..bb0b1e8c72 100644 --- a/libraries/liblmdb/Makefile +++ b/libraries/liblmdb/Makefile @@ -1,23 +1,44 @@ +# Makefile for liblmdb (Lightning memory-mapped database library). + +######################################################################## +# Configuration. The compiler options must enable threaded compilation. +# +# Preprocessor macros (for CPPFLAGS) of interest... +# Note that the defaults should already be correct for most +# platforms; you should not need to change any of these. +# Read their descriptions in mdb.c if you do: +# +# - MDB_USE_POSIX_SEM +# - MDB_DSYNC +# - MDB_FDATASYNC +# - MDB_USE_PWRITEV +# +# There may be other macros in mdb.c of interest. You should +# read mdb.c before changing any of them. +# CC = gcc W = -W -Wall -Wno-unused-parameter -Wbad-function-cast +THREADS = -pthread OPT = -O2 -g -CFLAGS = -pthread $(OPT) $(W) $(XCFLAGS) +CFLAGS = $(THREADS) $(OPT) $(W) $(XCFLAGS) LDLIBS = SOLIBS = prefix = /usr/local +######################################################################## + IHDRS = lmdb.h ILIBS = liblmdb.a liblmdb.so -IPROGS = mdb_stat mdb_copy -IDOCS = mdb_stat.1 mdb_copy.1 +IPROGS = mdb_stat mdb_copy mdb_dump mdb_load +IDOCS = mdb_stat.1 mdb_copy.1 mdb_dump.1 mdb_load.1 PROGS = $(IPROGS) mtest mtest2 mtest3 mtest4 mtest5 all: $(ILIBS) $(PROGS) install: $(ILIBS) $(IPROGS) $(IHDRS) - cp $(IPROGS) $(DESTDIR)$(prefix)/bin - cp $(ILIBS) $(DESTDIR)$(prefix)/lib - cp $(IHDRS) $(DESTDIR)$(prefix)/include - cp $(IDOCS) $(DESTDIR)$(prefix)/man/man1 + for f in $(IPROGS); do cp $$f $(DESTDIR)$(prefix)/bin; done + for f in $(ILIBS); do cp $$f $(DESTDIR)$(prefix)/lib; done + for f in $(IHDRS); do cp $$f $(DESTDIR)$(prefix)/include; done + for f in $(IDOCS); do cp $$f $(DESTDIR)$(prefix)/man/man1; done clean: rm -rf $(PROGS) *.[ao] *.so *~ testdb @@ -30,10 +51,13 @@ liblmdb.a: mdb.o midl.o ar rs $@ mdb.o midl.o liblmdb.so: mdb.o midl.o - gcc -pthread -shared -o $@ mdb.o midl.o $(SOLIBS) +# $(CC) $(LDFLAGS) -pthread -shared -Wl,-Bsymbolic -o $@ mdb.o midl.o $(SOLIBS) + $(CC) $(LDFLAGS) -pthread -shared -o $@ mdb.o midl.o $(SOLIBS) mdb_stat: mdb_stat.o liblmdb.a mdb_copy: mdb_copy.o liblmdb.a +mdb_dump: mdb_dump.o liblmdb.a +mdb_load: mdb_load.o liblmdb.a mtest: mtest.o liblmdb.a mtest2: mtest2.o liblmdb.a mtest3: mtest3.o liblmdb.a @@ -52,3 +76,18 @@ midl.o: midl.c midl.h %.o: %.c lmdb.h $(CC) $(CFLAGS) $(CPPFLAGS) -c $< + +coverage: xmtest + -rm -rf testdb; mkdir testdb + ./xmtest + gcov xmdb.c + gcov xmidl.c + +xmtest: mtest.o xmdb.o xmidl.o + gcc -o xmtest mtest.o xmdb.o xmidl.o -pthread -fprofile-arcs -ftest-coverage + +xmdb.o: mdb.c lmdb.h midl.h + $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -O0 -fprofile-arcs -ftest-coverage -c mdb.c -o $@ + +xmidl.o: midl.c midl.h + $(CC) $(CFLAGS) -fPIC $(CPPFLAGS) -O0 -fprofile-arcs -ftest-coverage -c midl.c -o $@