1TALLOC_OBJ = $(tallocdir)/talloc.o 
2
3TALLOC_SHLIB = libtalloc.$(SHLIBEXT)
4TALLOC_SOLIB = libtalloc.$(SHLIBEXT).$(TALLOC_VERSION)
5TALLOC_SONAME = libtalloc.$(SHLIBEXT).$(TALLOC_VERSION_MAJOR)
6TALLOC_STLIB = libtalloc.a
7
8all:: $(TALLOC_STLIB) $(TALLOC_SOLIB) testsuite
9
10testsuite:: $(LIBOBJ) testsuite.o testsuite_main.o
11	$(CC) $(CFLAGS) -o testsuite testsuite.o testsuite_main.o $(LIBOBJ) $(LIBS)
12
13$(TALLOC_STLIB): $(LIBOBJ)
14	ar -rv $@ $(LIBOBJ)
15	@-ranlib $@
16
17install:: all 
18	${INSTALLCMD} -d $(DESTDIR)$(libdir)
19	${INSTALLCMD} -d $(DESTDIR)$(libdir)/pkgconfig
20	${INSTALLCMD} -m 755 $(TALLOC_STLIB) $(DESTDIR)$(libdir)
21	${INSTALLCMD} -m 755 $(TALLOC_SOLIB) $(DESTDIR)$(libdir)
22	${INSTALLCMD} -d $(DESTDIR)${includedir}
23	${INSTALLCMD} -m 644 $(srcdir)/talloc.h $(DESTDIR)$(includedir)
24	${INSTALLCMD} -m 644 talloc.pc $(DESTDIR)$(libdir)/pkgconfig
25	if [ -f talloc.3 ];then ${INSTALLCMD} -d $(DESTDIR)$(mandir)/man3; fi
26	if [ -f talloc.3 ];then ${INSTALLCMD} -m 644 talloc.3 $(DESTDIR)$(mandir)/man3; fi
27	which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)`swig -swiglib` || true
28	which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)`swig -swiglib` || true
29	rm -f $(DESTDIR)$(libdir)/$(TALLOC_SONAME)
30	ln -s $(TALLOC_SOLIB) $(DESTDIR)$(libdir)/$(TALLOC_SONAME)
31	rm -f $(DESTDIR)$(libdir)/$(TALLOC_SHLIB)
32	ln -s $(TALLOC_SOLIB) $(DESTDIR)$(libdir)/$(TALLOC_SHLIB)
33
34doc:: talloc.3 talloc.3.html
35
36clean::
37	rm -f *~ $(LIBOBJ) $(TALLOC_SOLIB) $(TALLOC_STLIB) testsuite testsuite.o testsuite_main.o *.gc?? talloc.3 talloc.3.html
38	rm -fr abi
39	rm -f talloc.exports.sort talloc.exports.check talloc.exports.check.sort
40	rm -f talloc.signatures.sort talloc.signatures.check talloc.signatures.check.sort
41
42test:: testsuite
43	./testsuite
44
45abi_checks::
46	@echo ABI checks:
47	@./script/abi_checks.sh talloc talloc.h
48
49test:: abi_checks
50
51gcov::
52	gcov talloc.c
53