X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=adns.git;a=blobdiff_plain;f=regress%2FMakefile.in;h=94017cc9964a071a6dad068f6bfa98e0654d39c9;hp=2055f08cb2c3de45b527da49b45f5ba709d40cc9;hb=4153634256ab06ee5b147a20234a0b7b305c12ea;hpb=73dba56e1981d7fe721acf17d0cd91a4fed04850 diff --git a/regress/Makefile.in b/regress/Makefile.in index 2055f08..94017cc 100644 --- a/regress/Makefile.in +++ b/regress/Makefile.in @@ -1,6 +1,10 @@ -# regress/Makefile - regression test Makefile +# regress/Makefile[.in] - regression test Makefile # -# This file is part of adns, which is Copyright (C) 1997-1999 Ian Jackson +# This file is part of adns, which is +# Copyright (C) 1997-2000,2003,2006 Ian Jackson +# 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 @@ -19,39 +23,63 @@ srcdir= @srcdir@ VPATH= @srcdir@ -TARGETS= hplayback hrecord -AUTOCSRCS= harness.h hrecord.c hplayback.c hcommon.c -include $(srcdir)/../settings.make +PROGS_SYSDEP= @PROGS_HAVE_TSEARCH@ + +CLIENTS= adnstest adnshost adnslogres $(PROGS_SYSDEP) +AUTOCHDRS= harness.h hsyscalls.h hredirect.h +AUTOCSRCS= hrecord.c hplayback.c hcommon.c +include ../settings.make include $(srcdir)/../src/adns.make -DIRCFLAGS= -I$(srcdir)/../src +DIRCFLAGS= -I../src -I$(srcdir) -I$(srcdir)/../src + +HCPPFLAGS= -DADNS_REGRESS_TEST -I. -HCPPFLAGS:= $(foreach F, \ - gettimeofday select \ - socket fcntl connect close \ - sendto recvfrom read write writev \ -, -D$F=H$F) +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 -HARNLOBJS= $(addsuffix _d.o, $(basename $(LIBOBJS))) -ALLOBJS= $(HARNLOBJS) dtest.o hrecord.o hplayback.o hcommon.o +.PRECIOUS: $(AUTOCSRCS) $(AUTOCHDRS) -.PRECIOUS: $(AUTOCSRCS) +all install uninstall: $(TARGETS) check: $(TARGETS) - ./checkall + srcdir=$(srcdir) $(srcdir)/checkall + +LINK_CMD= $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@ + +%_record: %_c.o hrecord.o $(HARNLOBJS) + $(LINK_CMD) + +%_playback: %_c.o hplayback.o $(HARNLOBJS) + $(LINK_CMD) + +.SECONDARY: $(addsuffix _c.o, $(CLIENTS)) +# Without this, make will remove _c.o after building . +# This wastes effort. (Debian bug #4073.) +# +# Also, it exposes us to a bug (in make 3.81, at least) which can +# cause make to run the rule for building without building +# _c.o! (Debian #756123.) +# +# See also Savannah #29620, http://savannah.gnu.org/bugs/index.php?29620 -hrecord: adnstest_c.o hrecord.o hcommon.o $(HARNLOBJS) -hplayback: adnstest_c.o hplayback.o hcommon.o $(HARNLOBJS) +adnshost_%: $(ADH_OBJS) h%.o $(HARNLOBJS) + $(LINK_CMD) -%_d.o: $(srcdir)/../src/%.c - $(CC) $(HCPPFLAGS) -c -g -o $@ $< +%_d.o: $(srcdir)/../src/%.c hredirect.h + $(CC) $(CFLAGS) $(HCPPFLAGS) -c -g -o $@ $< -%_c.o: $(srcdir)/../client/%.c - $(CC) $(HCPPFLAGS) -I $(srcdir)/../src -c -g -o $@ $< +%_c.o: $(srcdir)/../client/%.c hredirect.h + $(CC) $(CFLAGS) $(HCPPFLAGS) -I $(srcdir)/../src -c -g -o $@ $< -$(ALLOBJS): $(srcdir)/../src/adns.h $(srcdir)/../src/internal.h harness.h +$(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 -I$(srcdir) $< >$@-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 + @mv -f $@-b.new $(srcdir)/$@; rm -f $@-a.new