# regress/Makefile - regression test Makefile
#
-# This file is part of adns, which is Copyright (C) 1997, 1998 Ian Jackson
+# This file is
+# Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
+#
+# It is part of adns, which is
+# Copyright (C) 1997-2000 Ian Jackson <ian@davenant.greenend.org.uk>
+# Copyright (C) 1999 Tony Finch <dot@dotat.at>
#
# 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
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-SUBDIR=/regress
-DIRCFLAGS= -I$(srcdir)/src
+srcdir= @srcdir@
+VPATH= @srcdir@
-HCPPFLAGS:= $(foreach F, \
- gettimeofday select \
- socket fcntl connect close \
- sendto recvfrom read write writev \
-, -D$F=H$F)
+PROGS_SYSDEP= @PROGS_HAVE_TSEARCH@
-HARNLOBJS= $(addsuffix _d.o, $(basename $(LIBOBJS)))
-ALLOBJS= $(HARNLOBJS) dtest.o hrecord.o hplayback.o hcommon.o
-AUTOCSRCS= harness.h hrecord.c hplayback.c hcommon.c
+CLIENTS= adnstest adnshost adnslogres $(PROGS_SYSDEP)
+AUTOCHDRS= harness.h hsyscalls.h hredirect.h
+AUTOCSRCS= hrecord.c hplayback.c hcommon.c
+include $(srcdir)/../settings.make
+include $(srcdir)/../src/adns.make
-TARGETS= hplayback hrecord
+DIRCFLAGS= -I$(srcdir)/../src
-include $(srcdir)/settings.make
-include $(srcdir)/src/adns.make
+HCPPFLAGS= -DADNS_REGRESS_TEST -I.
-.PRECIOUS: $(AUTOCSRCS)
+REDIRLIBOBJS= $(addsuffix _d.o, $(basename $(LIBOBJS)))
+HARNLOBJS= hcommon.o $(REDIRLIBOBJS)
+TARGETS= $(addsuffix _record, $(CLIENTS)) $(addsuffix _playback, $(CLIENTS))
+ADH_OBJS= adh-main_c.o adh-opts_c.o adh-query_c.o
+ALL_OBJS= $(HARNLOBJS) dtest.o hrecord.o hplayback.o
+
+.PRECIOUS: $(AUTOCSRCS) $(AUTOCHDRS)
+
+all install uninstall: $(TARGETS)
check: $(TARGETS)
./checkall
-hrecord: $(srcdir)/client/adnstest.o hrecord.o hcommon.o $(HARNLOBJS)
-hplayback: $(srcdir)/client/adnstest.o hplayback.o hcommon.o $(HARNLOBJS)
+LINK_CMD= $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
+
+%_record: %_c.o hrecord.o $(HARNLOBJS)
+ $(LINK_CMD)
-%_d.o: $(srcdir)/src/%.c
+%_playback: %_c.o hplayback.o $(HARNLOBJS)
+ $(LINK_CMD)
+
+adnshost_%: $(ADH_OBJS) h%.o $(HARNLOBJS)
+ $(LINK_CMD)
+
+%_d.o: $(srcdir)/../src/%.c hredirect.h
$(CC) $(HCPPFLAGS) -c -g -o $@ $<
-$(ALLOBJS): $(srcdir)/src/adns.h $(srcdir)/src/internal.h harness.h
+%_c.o: $(srcdir)/../client/%.c hredirect.h
+ $(CC) $(HCPPFLAGS) -I $(srcdir)/../src -c -g -o $@ $<
+
+$(ALL_OBJS): $(srcdir)/../src/adns.h $(srcdir)/../src/internal.h
+$(ALL_OBJS): harness.h hsyscalls.h
+$(ADH_OBJS): $(srcdir)/../client/adnshost.h
%:: %.m4 hmacros.i4 hsyscalls.i4
- m4 -P $< >$@-a.new
+ $(M4) -P $< >$@-a.new
sed -e 's/hm_comma/,/g; s/hm_squote/'\''/g; /^[ ]*$$/d' <$@-a.new >$@-b.new
@mv -f $@-b.new $@; rm -f $@-a.new