# $Id: Makefile,v 1.14 2007/12/06 02:05:38 vixie Exp $

#
# Copyright (c) 2007 by Internet Systems Consortium, Inc. ("ISC")
#
# 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.
#

# tell GCC that we don't want unicode error messages
LANG= en_US

# set up defaults for configurables
HAVE_BINDLIB= 1
BINDLIB= -lbind
BINDCFLAGS= `PATH=/usr/local/bin:$$PATH isc-config.sh --cflags`
BINDLDFLAGS= `PATH=/usr/local/bin:$$PATH isc-config.sh --libs`
GCCWARN= -W -Wall -Werror -Wcast-qual -Wpointer-arith -Wwrite-strings \
	-Wmissing-prototypes -Wbad-function-cast -Wnested-externs \
	-Wunused -Wshadow -Wmissing-noreturn -Wswitch-enum -Wformat-nonliteral
CWARN= ${GCCWARN}
PORTCFLAGS=
PORTLDFLAGS=
PORTLIBS=

# uncomment these if you don't have bind9's libbind and its fp_nquery function
#HAVE_BINDLIB= 0
#BINDLIB= 
#BINDCFLAGS= -I/usr/local/include -I/usr/local/bind/include
#BINDLDFLAGS=

# uncomment these if you don't have GCC
#CWARN=

# uncomment these if you're building on HPUX.  see also:
#	http://devresource.hp.com/drc/resources/LPK/index.jsp
#PORTCFLAGS= -I/usr/local/hplx/include
#PORTLDFLAGS= -L/usr/local/hplx/lib
#PORTLIBS= -lhplx

# uncomment these if you're building on FreeBSD or where fp_nquery() is in libc
#PORTCFLAGS=
#PORTLDFLAGS=
#PORTLIBS=

# uncomment these if you're building on CentOS or many other versions of Linux
#CWARN=
#PORTLIBS= /usr/lib/libresolv.a

ALL= dnscap dnscap.cat1

CDEBUG= -g -O
CFLAGS= ${CDEBUG} ${CWARN} -DHAVE_BINDLIB=${HAVE_BINDLIB} \
	${BINDCFLAGS} ${PORTCFLAGS}
LDFLAGS= ${BINDLDFLAGS} ${PORTLDFLAGS}
LDLIBS= -lpcap ${BINDLIB} ${PORTLIBS}

all: ${ALL}

install: all
	mkdir -p /usr/local/bin /usr/local/man/cat1
	if [ -f /usr/local/bin/dnscap ]; then \
		mv -f /usr/local/bin/dnscap \
			/usr/local/bin/dnscap.old; fi
	cp dnscap /usr/local/bin
	cp dnscap.cat1 /usr/local/man/cat1/dnscap.1

.c.o:
	@echo \(compile $< w/ ${CDEBUG}\) && ${CC} ${CFLAGS} -c $<

DNSCAP_OBJ= dnscap.o dump_dns.o
dnscap: ${DNSCAP_OBJ} Makefile
	@echo \(link $@ w/ ${LDLIBS}\) && \
		${CC} -o dnscap ${LDFLAGS} ${DNSCAP_OBJ} ${LDLIBS}

${DNSCAP_OBJ}: Makefile dnscap.c dump_dns.c dump_dns.h

dnscap.cat1: dnscap.1
	nroff -mandoc dnscap.1 > dnscap.cat1

clean:; rm -f ${ALL} *.o *.core *.orig all
