# Copyright (C) 2004-2009, 2011-2014  Internet Systems Consortium, Inc. ("ISC")
# Copyright (C) 1998-2002  Internet Software Consortium.
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
# PERFORMANCE OF THIS SOFTWARE.

# $Id: Makefile.in,v 1.62 2011/09/06 04:06:37 marka Exp $

srcdir =	@srcdir@
VPATH =		@srcdir@
top_srcdir =	@top_srcdir@

@BIND9_VERSION@

SUBDIRS =	make unit lib bin doc
TARGETS =
PREREQS =	bind.keys.h

MANPAGES =	isc-config.sh.1

HTMLPAGES =	isc-config.sh.html

MANOBJS =	${MANPAGES} ${HTMLPAGES}

@BIND9_MAKE_RULES@

bind.keys.h: ${top_srcdir}/bind.keys ${srcdir}/util/bindkeys.pl
	${PERL} ${srcdir}/util/bindkeys.pl < ${top_srcdir}/bind.keys > $@

distclean::
	rm -f config.cache config.h config.log config.status TAGS
	rm -f libtool isc-config.sh configure.lineno
	rm -f util/conf.sh docutil/docbook2man-wrapper.sh

# XXX we should clean libtool stuff too.  Only do this after we add rules
# to make it.
maintainer-clean::
	rm -f configure
	rm -f bind.keys.h

docclean manclean maintainer-clean::
	rm -f ${MANOBJS}

doc man:: ${MANOBJS}

installdirs:
	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${bindir} \
	${DESTDIR}${localstatedir}/run ${DESTDIR}${sysconfdir}
	$(SHELL) ${top_srcdir}/mkinstalldirs ${DESTDIR}${mandir}/man1

install:: isc-config.sh installdirs
	${INSTALL_SCRIPT} isc-config.sh ${DESTDIR}${bindir}
	rm -f ${DESTDIR}${bindir}/bind9-config
	@LN@ ${DESTDIR}${bindir}/isc-config.sh ${DESTDIR}${bindir}/bind9-config
	${INSTALL_DATA} ${top_srcdir}/isc-config.sh.1 ${DESTDIR}${mandir}/man1
	rm -f ${DESTDIR}${mandir}/man1/bind9-config.1
	@LN@ ${DESTDIR}${mandir}/man1/isc-config.sh.1 ${DESTDIR}${mandir}/man1/bind9-config.1
	${INSTALL_DATA} ${top_srcdir}/bind.keys ${DESTDIR}${sysconfdir}

tags:
	rm -f TAGS
	find lib bin -name "*.[ch]" -print | @ETAGS@ -

test check:
	@if test -n "`${PERL} ${top_srcdir}/bin/tests/system/testsock.pl 2>&- || echo fail`"; then \
	echo I: NOTE: The tests were not run because they require that; \
	echo I:	the IP addresses 10.53.0.1 through 10.53.0.8 are configured; \
	echo I:	as alias addresses on the loopback interface.  Please run; \
	echo I:	\'bin/tests/system/ifconfig.sh up\' as root to configure; \
	echo I:	them, then rerun the tests. Run make force-test to run the; \
	echo I:	tests anyway.; \
	exit 1; \
	fi
	${MAKE} test-force

force-test: test-force

test-force:
	status=0; \
	(cd bin/tests && ${MAKE} ${MAKEDEFS} test) || status=1; \
	(test -f unit/unittest.sh && $(SHELL) unit/unittest.sh) || status=1; \
	exit $$status

FAQ: FAQ.xml
	${XSLTPROC} doc/xsl/isc-docbook-text.xsl FAQ.xml | \
	LC_ALL=C ${W3M} -T text/html -dump -cols 72 >$@.tmp
	mv $@.tmp $@

unit::
	sh ${top_srcdir}/unit/unittest.sh

clean::
	rm -f FAQ.tmp
