8 exec_prefix = @
exec_prefix@
9 datarootdir
= @datarootdir@
10 includedir = @
includedir@
14 VPATH
= @
srcdir@
:@libreplacedir@
17 sharedbuilddir
= @sharedbuilddir@
18 INSTALLCMD
= @INSTALL@
21 TESTS
=test-tdb.sh @TESTS@
22 PACKAGE_VERSION
= @PACKAGE_VERSION@
24 PYTHON_CONFIG
= @PYTHON_CONFIG@
26 LIB_PATH_VAR
= @LIB_PATH_VAR@
28 LDB_MODULESDIR
= @LDB_MODULESDIR@
30 TALLOC_LIBS
= @TALLOC_LIBS@
31 TALLOC_CFLAGS
= @TALLOC_CFLAGS@
32 TALLOC_OBJ
= @TALLOC_OBJ@
35 TDB_CFLAGS
= @TDB_CFLAGS@
38 TEVENT_LIBS
= @TEVENT_LIBS@
39 TEVENT_CFLAGS
= @TEVENT_CFLAGS@
40 TEVENT_OBJ
= @TEVENT_OBJ@
42 POPT_LIBS
= @POPT_LIBS@
43 POPT_CFLAGS
= @POPT_CFLAGS@
46 LDAP_LIBS
= @LDAP_LIBS@
52 LD_EXPORT_DYNAMIC
= @LD_EXPORT_DYNAMIC@
54 SHLD_FLAGS
= @SHLD_FLAGS@
60 CFLAGS
=-g
-I
$(srcdir)/include -Iinclude
-I
$(srcdir) -I
$(srcdir)/.. \
61 $(POPT_CFLAGS
) $(TALLOC_CFLAGS
) $(TDB_CFLAGS
) $(TEVENT_CFLAGS
) \
62 -DLIBDIR
=\"$(libdir)\" -DSHLIBEXT
=\"$(SHLIBEXT
)\" -DUSE_MMAP
=1 \
63 -DLDB_MODULESDIR
=\"$(LDB_MODULESDIR
)\" \
67 MDLD_FLAGS
= @MDLD_FLAGS@
69 OBJS
= $(MODULES_OBJ
) $(COMMON_OBJ
) $(LDB_TDB_OBJ
) $(TDB_OBJ
) $(TEVENT_OBJ
) $(TALLOC_OBJ
) $(POPT_OBJ
) $(LDB_MAP_OBJ
) @LIBREPLACEOBJ@
$(EXTRA_OBJ
)
71 headers
= $(srcdir)/include/ldb.h
$(srcdir)/include/ldb_errors.h
$(srcdir)/include/ldb_handlers.h
$(srcdir)/include/ldb_module.h
73 BINS
= bin
/ldbadd bin
/ldbsearch bin
/ldbdel bin
/ldbmodify bin
/ldbedit bin
/ldbrename bin
/ldbtest
75 EXAMPLES
= examples
/ldbreader examples
/ldifreader
77 DIRS
= lib bin common ldb_tdb ldb_ldap ldb_sqlite3 modules tools examples
81 include $(ldbdir
)/rules.mk
83 nss
: nssdir
all $(NSS_LIB
)
88 SONAME
= libldb.
$(SHLIBEXT
).0
89 SOLIB
= libldb.
$(SHLIBEXT
).
$(PACKAGE_VERSION
)
90 LIBSOLIB
= lib
/$(SOLIB
)
91 STATICLIB
= lib
/libldb.a
93 lib
/$(SONAME
): $(LIBSOLIB
)
94 ln
-fs libldb.
$(SHLIBEXT
).
$(PACKAGE_VERSION
) $@
96 lib
/libldb.
$(SHLIBEXT
): $(LIBSOLIB
) lib
/$(SONAME
)
97 ln
-fs libldb.
$(SHLIBEXT
).
$(PACKAGE_VERSION
) $@
99 lib
/libnss_ldb.
$(SHLIBEXT
).2: $(NSS_OBJ
) $(LIBSOLIB
)
100 $(SHLD
) $(SHLD_FLAGS
) -o
$@
$(NSS_OBJ
) $(LDFLAGS
) $(LIBSOLIB
) @SONAMEFLAG@libnss_ldb.
$(SHLIBEXT
).2
103 $(SHLD
) $(SHLD_FLAGS
) -o
$@
$(OBJS
) $(LDFLAGS
) $(LIBS
) $(TALLOC_LIBS
) $(TDB_LIBS
) $(TEVENT_LIBS
) $(LIBDL
) $(LDAP_LIBS
) @SONAMEFLAG@
$(SONAME
)
104 ln
-sf libldb.
$(SHLIBEXT
).
$(PACKAGE_VERSION
) lib
/libldb.
$(SHLIBEXT
)
106 all: showflags dirs
$(OBJS
) $(STATICLIB
) $(LIBSOLIB
) $(BINS
) $(EXAMPLES
) manpages \
107 @PYTHON_BUILD_TARGET@
110 ${INSTALLCMD} -d
$(sharedbuilddir
)/lib
111 ${INSTALLCMD} -m
644 $(STATICLIB
) $(sharedbuilddir
)/lib
112 ${INSTALLCMD} -m
755 $(LIBSOLIB
) $(sharedbuilddir
)/lib
113 ln
-sf
$(SOLIB
) $(sharedbuilddir
)/lib
/$(SONAME
)
114 ln
-sf
$(SOLIB
) $(sharedbuilddir
)/lib
/libldb.so
115 ${INSTALLCMD} -d
$(sharedbuilddir
)/include
116 ${INSTALLCMD} -m
644 $(srcdir)/include/ldb.h
$(sharedbuilddir
)/include
117 ${INSTALLCMD} -m
644 $(srcdir)/include/ldb_errors.h
$(sharedbuilddir
)/include
118 ${INSTALLCMD} -m
644 $(srcdir)/include/ldb_handlers.h
$(sharedbuilddir
)/include
124 @
$(srcdir)/docs
/builddocs.sh
"$(XSLTPROC)" "$(srcdir)"
127 test -z
"$(DOXYGEN)" ||
(cd
$(srcdir) && "$(DOXYGEN)")
130 rm -f
*.o
*/*.o
*.gcov
*/*.gc?? tdbtest.ldb
*
131 rm -f
$(BINS
) $(TDB_OBJ
) $(TALLOC_OBJ
) $(STATICLIB
) $(NSS_LIB
) $(LIBSOLIB
)
133 rm -f man
/*.1 man
/*.3 man
/*.html
140 rm -f config.log config.status config.cache
include/config.h
144 realdistclean
:: distclean
145 rm -f configure
include/config.h.in
147 check:: test @PYTHON_CHECK_TARGET@
149 check-soloading
: sample.
$(SHLIBEXT
)
150 $(LIB_PATH_VAR
)=lib LDB_MODULES_PATH
=$(builddir
) $(srcdir)/tests
/test-soloading.sh
152 test:: all check-soloading
153 for t in
$(TESTS
); do echo STARTING
$${t}; $(LIB_PATH_VAR
)=lib
$(srcdir)/tests
/$${t} || exit
1; done
156 for t in
$(TESTS
); do echo STARTING
$${t}; VALGRIND
="valgrind -q --db-attach=yes --num-callers=30" $(srcdir)/tests
/$${t} || exit
1; done
158 installcheck:: install test
160 install:: all installdirs installheaders installlibs installbin installdocs \
161 @PYTHON_INSTALL_TARGET@
164 mkdir
-p
$(DESTDIR
)$(includedir) $(DESTDIR
)$(libdir) $(DESTDIR
)$(bindir) $(DESTDIR
)$(libdir)/pkgconfig
166 installheaders
:: installdirs
167 cp
$(headers
) $(DESTDIR
)$(includedir)
169 installlibs
:: installdirs
170 cp
$(STATICLIB
) $(LIBSOLIB
) $(DESTDIR
)$(libdir)
171 cp ldb.
pc $(DESTDIR
)$(libdir)/pkgconfig
173 installbin
:: installdirs
174 cp
$(BINS
) $(DESTDIR
)$(bindir)
176 installdocs
:: installdirs
177 $(srcdir)/docs
/installdocs.sh
$(DESTDIR
)$(mandir)
180 $(GCOV
) -po ldb_sqlite3
$(srcdir)/ldb_sqlite3
/*.c
2| tee ldb_sqlite3.report.gcov
181 $(GCOV
) -po ldb_ldap
$(srcdir)/ldb_ldap
/*.c
2| tee ldb_ldap.report.gcov
182 $(GCOV
) -po ldb_tdb
$(srcdir)/ldb_tdb
/*.c
2| tee ldb_tdb.report.gcov
183 $(GCOV
) -po common
$(srcdir)/common
/*.c
2| tee common.report.gcov
184 $(GCOV
) -po modules
$(srcdir)/modules
/*.c
2| tee modules.report.gcov
185 $(GCOV
) -po tools
$(srcdir)/tools
/*.c
2| tee tools.report.gcov
187 include $(ldbdir
)/ldb.mk