# Standard installation pathnames
# See the file LICENSE for the license
SHELL = @SHELL@
VERSION = @PACKAGE_VERSION@
basesrcdir = $(shell basename `pwd`)
srcdir = @srcdir@
prefix  = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
mandir = @mandir@
includedir = @INCLUDEDIR@

CC = @CC@
CFLAGS = @CFLAGS@ -I.
CPPFLAGS = @CPPFLAGS@ 
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
INSTALL = $(srcdir)/install-sh -c
INSTALL_PROGRAM = $(INSTALL)

COMPILE         = $(CC) -Wall $(CPPFLAGS) $(CFLAGS) -I. -I$(srcdir)
LINK            = $(CC) $(CFLAGS) $(LDFLAGS) 

LINT            = splint
LINTFLAGS       = +quiet -weak -warnposix -unrecog -Din_addr_t=uint32_t -Du_int=unsigned -Du_char=uint8_t -I../

OBJ=drill.o drill_util.o error.o root.o work.o chasetrace.o dnssec.o securetrace.o
SRC=$(OBJ:.o=.c)

HEADER=drill.h $(srcdir)/drill_util.h

.PHONY:	all clean realclean docclean doc release tags install

all:	drill 

tags:	
	ctags *.[ch]

drill:	$(OBJ) 
	$(LINK) -o drill $(OBJ) $(LIBS)

## implicit rule
%.o:	$(srcdir)/%.c $(HEADER)
	$(COMPILE) -c $<

clean:
	rm -f ${OBJ}
	rm -f drill
	rm -f *core
	rm -f config.h.in~
	rm -f config.log
	rm -f config.guess
	rm -f config.status

docclean:
	rm -rf doxydoc

distclean: clean docclean
	rm -f config.h
	rm -f drill.h

realclean: clean docclean
	rm -f tags
	rm -f config.log
	rm -f config.sub
	rm -f ltmain.sh
	rm -f config.status
	rm -rf autom4te.cache
	rm -f config.h
	rm -f config.h.in
	rm -f drill.h
	rm -f configure
	rm -f Makefile	
	rm -f aclocal.m4

doc:	
	doxygen drill.doxygen

install: all
	$(INSTALL) -d $(DESTDIR)$(bindir)
	$(INSTALL) drill $(DESTDIR)$(bindir)/drill
	$(INSTALL) -m 644 $(srcdir)/drill.1 $(DESTDIR)$(mandir)/man1/drill.1

uninstall:
	@echo
	rm -f -- $(DESTDIR)$(bindir)/drill
	rm -f -- $(DESTDIR)$(mandir)/man1/drill.1
	rmdir -p $(DESTDIR)$(bindir)
	rmdir -p $(DESTDIR)$(mandir)/man1
	@echo

lint:
	@for i in $(SRC) ; do \
                $(LINT) $(LINTFLAGS) -I$(srcdir) $(srcdir)/$$i ; \
                if [ $$? -ne 0 ] ; then exit 1 ; fi ; \
        done

confclean: clean
	rm -rf config.log config.status config.h Makefile


syntax highlighted by Code2HTML, v. 0.9.1