chiark / gitweb /
Build system: Bodge regress/Makefile.in's .SECONDARY some more
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Mon, 20 Oct 2014 15:34:52 +0000 (16:34 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 24 Oct 2014 17:59:10 +0000 (18:59 +0100)
The declaration mentioning CLIENTS has an unfortunate side-effect: it
`mentions' the file adnshost_c.o, which is not part of the build and
is not buildable.

According to the rules in `(make)Implicit Rule Search' this causes
make to try to build adnshost_playback from adnshost_c.o (rule 5).
This is because files whose names are `mentioned' are taken to `ought
to exist'.

This causes adns to be unbuildable on the make from Debian sid
(4.0-8); it is not visible on earlier makes (eg 3.81-8.2) because they
don't appear to actually follow the documented algorithm.

Bodge this (further) by filtering adnshost out of the client list.  It
is currently the only client made out of multiple object files.

(Cherry-picked from Debian's adns dgit/experimental branch.)

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
regress/Makefile.in

index 2834e834a2fffcc9f9d77312cfeecb8515ed8804..34be146c7f13f0d1d7294b73725d6142a70c6309 100644 (file)
@@ -56,7 +56,7 @@ LINK_CMD=     $(CC) $(LDFLAGS) $^ $(LDLIBS) -o $@
 %_playback:    %_c.o hplayback.o $(HARNLOBJS)
                $(LINK_CMD)
 
-.SECONDARY: $(addsuffix _c.o, $(CLIENTS))
+.SECONDARY: $(addsuffix _c.o, $(filter-out adnshost, $(CLIENTS)))
 # Without this, make will remove <client>_c.o after building <client>.
 # This wastes effort.  (Debian bug #4073.)
 #