# Standard installation pathnames # See the file LICENSE for the license SHELL = /bin/sh VERSION = 1.1.0 srcdir = . basesrcdir = $(shell basename `pwd`) prefix = exec_prefix = ${prefix} bindir = ${exec_prefix}/bin mandir = ${prefix}/man libdir = ${exec_prefix}/lib includedir = ${prefix}/include doxygen = glibtool = glibtool libtool = libtool15 ifdef glibtool libtool = $(glibtool) endif CC = cc CPPFLAGS = -ansi -D_POSIX_C_SOURCE=200112 -D_XOPEN_SOURCE=600 -D__EXTENSIONS__ -I/usr/local/include -DHAVE_CONFIG_H -I. -I$(srcdir) CFLAGS = -fno-common -O2 -I. -I$(srcdir) LDFLAGS = -rpath=/usr/lib:/usr/local/lib -L/usr/local/lib -lcrypto LIBS = -lcrypto LIBOBJS = b64_pton$U.o b64_ntop$U.o RUNTIME_PATH = -R/usr/local/lib DATE = $(shell date +%Y%m%d) LIBTOOL = $(libtool) --tag=CC LINT = splint LINTFLAGS = +quiet -weak -warnposix -unrecog -Din_addr_t=uint32_t -Du_int=unsigned -Du_char=uint8_t -preproc INSTALL = $(srcdir)/install-sh LIBDNS_SOURCES = rdata.c util.c rr.c packet.c wire2host.c \ host2str.c buffer.c str2host.c tsig.c resolver.c \ net.c host2wire.c dname.c dnssec.c keys.c \ higher.c rr_functions.c parse.c update.c error.c zone.c LIBDNS_HEADERS = $(srcdir)/ldns/error.h \ $(srcdir)/ldns/packet.h \ $(srcdir)/ldns/common.h \ $(srcdir)/ldns/rdata.h \ $(srcdir)/ldns/rr.h \ $(srcdir)/ldns/wire2host.h \ $(srcdir)/ldns/host2str.h \ $(srcdir)/ldns/host2wire.h \ $(srcdir)/ldns/str2host.h \ $(srcdir)/ldns/buffer.h \ $(srcdir)/ldns/resolver.h \ $(srcdir)/ldns/net.h \ $(srcdir)/ldns/dname.h \ $(srcdir)/ldns/dnssec.h \ $(srcdir)/ldns/keys.h \ $(srcdir)/ldns/higher.h \ $(srcdir)/ldns/parse.h \ $(srcdir)/ldns/rr_functions.h \ $(srcdir)/ldns/ldns.h \ $(srcdir)/ldns/zone.h \ $(srcdir)/ldns/update.h \ $(srcdir)/ldns/tsig.h LIBDNS_OBJECTS = $(LIBDNS_SOURCES:.c=.o) $(LIBOBJS) LIBDNS_LOBJECTS = $(LIBDNS_SOURCES:.c=.lo) $(LIBOBJS:.o=.lo) ALL_SOURCES = $(LIBDNS_SOURCES) COMPILE = $(CC) $(CPPFLAGS) $(CFLAGS) COMP_LIB = $(LIBTOOL) --mode=compile $(CC) $(CPPFLAGS) $(CFLAGS) LINK = $(CC) $(CFLAGS) $(LDFLAGS) LINK_LIB = $(LIBTOOL) --mode=link $(CC) $(CFLAGS) $(LDFLAGS) -release $(VERSION) %.o: $(srcdir)/%.c $(LIBDNS_HEADERS) ldns/util.h ldns/config.h $(COMP_LIB) -c $> $< .PHONY: clean realclean docclean doc lint all lib .PHONY: install uninstall install-doc uninstall-doc .PHONY: install-h uninstall-h install-lib uninstall-lib all: copy-headers lib linktest linktest: gcc $(srcdir)/linktest.c $(CPPFLAGS) $(CFLAGS) -L.libs -lldns -o linktest rm linktest lib: $(LIBDNS_OBJECTS) $(LINK_LIB) -o libldns.la $(LIBDNS_LOBJECTS) -rpath $(libdir) $(RUNTIME_PATH) if [ ! -d lib ] ; then ln -s .libs lib ; fi ; copy-headers: if [ ! -d include ] ; then mkdir include ; fi ; if [ ! -d include/ldns ] ; then ln -sf ../ldns ./include/ldns ; fi ; for i in $(LIBDNS_HEADERS); do \ if [ $(srcdir)/ldns/$$i -nt ./include/ldns/$$i ] ; then \ MVPROG=/bin/cp $(INSTALL) -m 644 $$i ./include/ldns/; \ fi ; \ done doc: $(srcdir)/doc/function_manpages $(INSTALL) -d doc ifdef doxygen $(doxygen) $(srcdir)/libdns.doxygen endif cat $(srcdir)/ldns/*.h | $(srcdir)/doc/doxyparse.pl -m $(srcdir)/doc/function_manpages 2>&1 | \ grep -v ^doxygen | grep -v ^cat > doc/ldns_manpages install: install-h install-lib install-doc uninstall: uninstall-doc uninstall-h uninstall-lib destclean: uninstall install-doc: doc ${INSTALL} -d $(DESTDIR)$(mandir)/man3 cp -Rp doc/man/man3/* $(DESTDIR)$(mandir)/man3/ uninstall-doc: doc for i in `cat doc/ldns_manpages`; do \ rm -f $(DESTDIR)$(mandir)/man3/$$i.3 ; done rmdir -p $(DESTDIR)$(mandir)/man3 install-h: lib $(INSTALL) -m 755 -d $(DESTDIR)$(includedir)/ldns for i in $(LIBDNS_HEADERS); do \ MVPROG=/bin/cp $(INSTALL) -m 644 $$i $(DESTDIR)$(includedir)/ldns/; done MVPROG=/bin/cp $(INSTALL) -m 644 include/ldns/util.h $(DESTDIR)$(includedir)/ldns/ uninstall-h: for i in $(LIBDNS_HEADERS); do \ rm -f $(DESTDIR)$(includedir)/$$i; done [ ! -d $(DESTDIR)$(includedir)/ldns ] || rmdir -p $(DESTDIR)$(includedir)/ldns exit 0 install-lib: lib $(INSTALL) -m 755 -d $(DESTDIR)$(libdir) $(LIBTOOL) --mode=install cp libldns.la $(DESTDIR)$(libdir) $(LIBTOOL) --mode=finish $(DESTDIR)$(libdir) uninstall-lib: $(LIBTOOL) --mode=uninstall rm -f $(DESTDIR)$(libdir)/libldns.la rmdir -p $(DESTDIR)$(libdir) clean: rm -f *.o *.d *.lo rm -f *~ rm -rf autom4te.cache/ rm -f tags rm -f *.key rm -f *.ds rm -f *.private rm -rf include/ rm -f lib rm -rf .libs distclean: clean docclean libclean rm -f ltmain.sh realclean: clean docclean libclean rm -f config.status rm -f config.log rm -f Makefile rm -f ldns/config.h.in rm -f ldns/config.h rm -f ldns/util.h rm -f config.h.in rm -f configure rm -f config.sub rm -f config.guess rm -f ltmain.sh docclean: rm -rf doc/html/ rm -rf doc/man/ rm -rf doc/latex/ rm -f doc/*.txt rm -f doc/*.tex rm -f doc/ldns_manpages libclean: $(LIBTOOL) --mode clean rm -f libldns.la $(LIBTOOL) --mode clean rm -f libldns.a $(LIBTOOL) --mode clean rm -f libldns.so $(LIBTOOL) --mode clean rm -f libldns.so.* rm -rf *.lo rm -rf .libs rm -rf libtool ## No need for changes here lint: for i in $(LIBDNS_SOURCES); do \ $(LINT) $(LINTFLAGS) -I. -I$(srcdir) $(srcdir)/$$i ; \ if [ $$? -ne 0 ] ; then exit 1 ; fi ; \ done tags: $(srcdir)/*.c ldns/*.[ch] ctags -f $(srcdir)/tags $(srcdir)/*.[ch] ldns/*.[ch] b64_pton$U.o: $(srcdir)/compat/b64_pton.c $(COMP_LIB) -c $(srcdir)/compat/b64_pton.c -o $@ b64_ntop$U.o: $(srcdir)/compat/b64_ntop.c $(COMP_LIB) -c $(srcdir)/compat/b64_ntop.c -o $@ malloc$U.o: $(srcdir)/compat/malloc.c $(COMP_LIB) -c $(srcdir)/compat/malloc.c -o $@ timegm$U.o: $(srcdir)/compat/timegm.c $(COMP_LIB) -c $(srcdir)/compat/timegm.c -o $@ isblank$U.o: $(srcdir)/compat/isblank.c $(COMP_LIB) -c $(srcdir)/compat/isblank.c -o $@ # Automatic dependencies. %.d: $(srcdir)/%.c $(SHELL) -ec '$(CC) -MM $(CPPFLAGS) $< \ | sed '\''s!\(.*\)\.o[ :]*!$(dir $@)\1.o $@ : !g'\'' > $@; \ [ -s $@ ] || rm -f $@' allclean: test-clean clean test-clean: tpkg -b test clean #include $(ALL_SOURCES:.c=.d)