# client/Makefile - client program(s) Makefile
# 
#  This file is part of adns, which is
#    Copyright (C) 1997-2000,2003,2006,2014-2016,2020  Ian Jackson
#    Copyright (C) 2014  Mark Wooding
#    Copyright (C) 1999-2000,2003,2006  Tony Finch
#    Copyright (C) 1991 Massachusetts Institute of Technology
#  (See the file INSTALL for full details.)
#  
#  This program is free software; you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 3, or (at your option)
#  any later version.
#  
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#  
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software Foundation.

srcdir=		@srcdir@
VPATH=		@srcdir@

PROGS_SYSDEP=	@PROGS_HAVE_TSEARCH@
ENABLE_DYNAMIC=	@ENABLE_DYNAMIC@

PROGRAMS=	adnslogres adnsheloex adnshost $(PROGS_SYSDEP)
PROGRAMS_LOCAL=	fanftest adnstest addrtext
PROGRAMS_ALL=	$(PROGRAMS) $(PROGRAMS_LOCAL)

STATIC_LIB=	../src/libadns.a

ifeq ($(ENABLE_DYNAMIC),elf)
DYNAMIC_DEP=	../dynamic/$(SHLIBFILE)
DYNAMIC_LINK=	-L../dynamic -ladns
DYNAMIC_SUFFIX=	_s
else
DYNAMIC_DEP=	$(STATIC_LIB)
DYNAMIC_LINK=	$(STATIC_LIB)
DYNAMIC_SUFFIX=
endif

TARG_INSTALL=	$(PROGRAMS)
TARG_LOCAL=	$(addsuffix $(DYNAMIC_SUFFIX), $(PROGRAMS_ALL))
TARGETS=	$(TARG_LOCAL) $(TARG_INSTALL)
include		../settings.make

ADNSDIR=	$(srcdir)/../src
DIRCFLAGS=	-I. -I../src -I$(ADNSDIR)

TARG_OBJS=	$(addsuffix .o, $(PROGRAMS_ALL))
ADH_OBJS=	adh-main.o adh-opts.o adh-query.o
ALL_OBJS=	$(ADH_OBJS) $(TARG_OBJS)


all:		$(TARGETS)

install:	$(TARG_INSTALL)
		mkdir -p $(bindir)
		set -xe; for f in $(TARG_INSTALL); \
			do $(INSTALL_PROGRAM) $$f $(bindir)/$$f; done

uninstall:
		for f in $(TARGETS); do rm -f $(bindir)/$$f; done

adnshost:	$(ADH_OBJS) $(DYNAMIC_DEP)
		$(CC) $(LDFLAGS) $(ADH_OBJS) $(DYNAMIC_LINK) -o $@ $(LDLIBS)

adnshost_s:	$(ADH_OBJS) $(STATIC_LIB)
		$(CC) $(LDFLAGS) $(ADH_OBJS) $(STATIC_LIB) -o $@ $(LDLIBS)

$(ADH_OBJS):		adnshost.h
$(ALL_OBJS):		$(ADNSDIR)/adns.h ../src/config.h
adnsresfilter.o:	$(ADNSDIR)/tvarith.h

%:		%.o $(DYNAMIC_DEP)
		$(CC) $(LDFLAGS) $< $(DYNAMIC_LINK) -o $@ $(LDLIBS)

%_s:		%.o $(STATIC_LIB)
		$(CC) $(LDFLAGS) $< $(STATIC_LIB) -o $@ $(LDLIBS)
