#
# @configure_input@
#
#
# Copyright (c) 2013, Verisign, Inc., NLnet Labs
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
#   notice, this list of conditions and the following disclaimer in the
#   documentation and/or other materials provided with the distribution.
# * Neither the names of the copyright holders nor the
#   names of its contributors may be used to endorse or promote products
#   derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL Verisign, Inc. BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

package = @PACKAGE_NAME@
version = @PACKAGE_VERSION@
tarname	= @PACKAGE_TARNAME@
PACKAGE_TARNAME	= @PACKAGE_TARNAME@
distdir	= $(tarname)-$(version)
bintar  = $(distdir)-bin.tar.gz

prefix = @prefix@
datarootdir=@datarootdir@
exec_prefix = @exec_prefix@
bindir = @bindir@
docdir = @docdir@

srcdir = @srcdir@
VPATH = @srcdir@
INSTALL = @INSTALL@

default:
	cd src && $(MAKE) $@

all : default

install: all
	$(INSTALL) -m 755 -d $(DESTDIR)$(docdir)
	$(INSTALL) -m 644 $(srcdir)/AUTHORS $(DESTDIR)$(docdir)
	$(INSTALL) -m 644 $(srcdir)/ChangeLog $(DESTDIR)$(docdir)
	$(INSTALL) -m 644 $(srcdir)/COPYING $(DESTDIR)$(docdir)
	$(INSTALL) -m 644 $(srcdir)/INSTALL $(DESTDIR)$(docdir)
	$(INSTALL) -m 644 $(srcdir)/LICENSE $(DESTDIR)$(docdir)
	$(INSTALL) -m 644 $(srcdir)/NEWS $(DESTDIR)$(docdir)
	$(INSTALL) -m 644 $(srcdir)/README.md $(DESTDIR)$(docdir)
	$(INSTALL) -m 755 -d $(DESTDIR)$(docdir)/spec
	$(INSTALL) -m 644 $(srcdir)/spec/index.html $(DESTDIR)$(docdir)/spec
	$(INSTALL) -m 644 $(srcdir)/spec/getdns*tgz $(DESTDIR)$(docdir)/spec
	cd src && $(MAKE) $@
	cd doc && $(MAKE) $@
	@echo "***"
	@echo "***  !!! IMPORTANT !!!!  libgetdns needs a DNSSEC trust anchor!"
	@echo "***"
	@echo "***  For the library to be able to perform DNSSEC, the root"
	@echo "***  trust anchor needs to be present in presentation format"
	@echo "***  in the file: "
	@echo "***        @TRUST_ANCHOR_FILE@"
	@echo "***"
	@echo "***  We recomend using unbound-anchor to retrieve and install"
	@echo "***  the root trust anchor like this: "
	@echo "***        mkdir /etc/unbound"
	@echo "***        unbound-anchor -a \"@TRUST_ANCHOR_FILE@\""
	@echo "***"
	@echo "***  We strongly recommend package maintainers to provide the"
	@echo "***  root trust anchor by installing it with unbound-anchor"
	@echo "***  at package installation time from the post-install script."
	@echo "***"

uninstall:
	rm -rf $(DESTDIR)$(docdir)
	cd doc && $(MAKE) $@
	cd src && $(MAKE) $@

doc:	FORCE
	cd doc && $(MAKE) $@

example:
	cd src && $(MAKE) $@

test:
	cd src && $(MAKE) $@

clean:
	cd src && $(MAKE) $@
	cd doc && $(MAKE) $@
	rm -f *.o

distclean:
	cd src && $(MAKE) $@
	rmdir src 2>/dev/null || true
	cd doc && $(MAKE) $@
	rmdir doc 2>/dev/null || true
	rm -f config.log config.status Makefile libtool
	rm -fR autom4te.cache

dist: $(distdir).tar.gz

bindist: $(bintar)

$(bintar): $(distdir)
	chown -R 0:0 $(distdir) 2>/dev/null || true
	cd $(distdir); ./configure; make
	tar chof - $(distdir) | gzip -9 -c > $@
	rm -rf $(distdir)

$(distdir).tar.gz: $(distdir)
	chown -R 0:0 $(distdir) 2>/dev/null || true
	tar chof - $(distdir) | gzip -9 -c > $@
	rm -rf $(distdir)

$(distdir):
	mkdir -p $(distdir)/src
	mkdir -p $(distdir)/src/getdns
	mkdir -p $(distdir)/src/test
	mkdir -p $(distdir)/src/example
	mkdir -p $(distdir)/src/extension
	mkdir -p $(distdir)/doc
	mkdir -p $(distdir)/spec
	cp $(srcdir)/configure.ac $(distdir)
	cp $(srcdir)/configure $(distdir)
	cp $(srcdir)/AUTHORS $(distdir)
	cp $(srcdir)/ChangeLog $(distdir)
	cp $(srcdir)/COPYING $(distdir)
	cp $(srcdir)/INSTALL $(distdir)
	cp $(srcdir)/LICENSE $(distdir)
	cp $(srcdir)/NEWS $(distdir)
	cp $(srcdir)/README.md $(distdir)
	cp $(srcdir)/Makefile.in $(distdir)
	cp $(srcdir)/install-sh $(distdir)
	cp $(srcdir)/config.sub $(distdir)
	cp $(srcdir)/config.guess $(distdir)
	cp libtool $(distdir)
	cp $(srcdir)/ltmain.sh $(distdir)
	cp $(srcdir)/src/*.in $(distdir)/src
	cp $(srcdir)/src/*.[ch] $(distdir)/src
	cp $(srcdir)/src/*.symbols $(distdir)/src
	cp $(srcdir)/src/extension/*.[ch] $(distdir)/src/extension
	cp $(srcdir)/src/extension/*.symbols $(distdir)/src/extension
	cp $(srcdir)/src/getdns/*.in $(distdir)/src/getdns
	cp $(srcdir)/src/getdns/getdns_*.h $(distdir)/src/getdns
	cp $(srcdir)/src/test/Makefile.in $(distdir)/src/test
	cp $(srcdir)/src/test/*.[ch] $(distdir)/src/test
	cp $(srcdir)/src/test/*.sh $(distdir)/src/test
	cp $(srcdir)/src/test/*.good $(distdir)/src/test
	cp $(srcdir)/src/example/Makefile.in $(distdir)/src/example
	cp $(srcdir)/src/example/*.[ch] $(distdir)/src/example
	cp $(srcdir)/doc/Makefile.in $(distdir)/doc
	cp $(srcdir)/doc/*.in $(distdir)/doc
	cp $(srcdir)/doc/manpgaltnames $(distdir)/doc
	cp $(srcdir)/spec/* $(distdir)/spec

distcheck: $(distdir).tar.gz
	gzip -cd $(distdir).tar.gz | tar xvf -
	cd $(distdir) && ./configure
	cd $(distdir) && $(MAKE) all
	cd $(distdir) && $(MAKE) check
	cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst install
	cd $(distdir) && $(MAKE) DESTDIR=$${PWD}/_inst uninstall
	@remaining="`find $${PWD}/$(distdir)/_inst -type f | wc -l`"; \
	if test "$${remaining}" -ne	0; then
	echo "@@@	$${remaining} file(s) remaining	in stage directory!"; \
	exit 1; \
	fi
	cd $(distdir) && $(MAKE) clean
	rm -rf $(distdir)
	@echo "*** Package $(distdir).tar.gz is ready for distribution"

Makefile: Makefile.in config.status
	./config.status $@

configure.status: configure
	./config.status --recheck

.PHONY: all distclean clean default doc test
FORCE: