Hi, When building gzip from the git repository in a subdirectory (VPATH build), I get a build failure.
How to reproduce: $ unset GNULIB_SRCDIR $ git clone https://git.savannah.gnu.org/git/gzip.git $ cd gzip $ ./bootstrap $ mkdir vpath $ cd vpath $ ../configure $ make $ make check ... make[3]: Entering directory '/tmp/gzip/vpath' GEN gzip.doc GEN gzip.doc.gz /bin/bash: line 1: ../gzip.doc: No such file or directory make[3]: *** [Makefile:2435: gzip.doc.gz] Error 1 make[3]: Leaving directory '/tmp/gzip/vpath' The problem is that while gzip.doc is expected to be in the source directory (1. because it's in EXTRA_DIST, 2. see the check-local rule), it's being generated in the build directory. The GNU Coding Standards <https://www.gnu.org/prep/standards/html_node/Makefile-Basics.html> make it clear that the file should be generated in the source directory. The attached patch fixes it. I verified that "make distcheck" passes.
>From 4174578109c1ba545d1ec4c79ae4943aca85650a Mon Sep 17 00:00:00 2001 From: Bruno Haible <br...@clisp.org> Date: Mon, 30 Jan 2023 22:24:17 +0100 Subject: [PATCH] Fix "make check" in a subdirectory (VPATH build). * Makefile.am (gzip.doc): Generate gzip.doc in the source directory, not in the build directory. --- Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 25b2042..3a7dfea 100644 --- a/Makefile.am +++ b/Makefile.am @@ -86,7 +86,7 @@ version.h: Makefile gzip.doc: gzip.1 $(AM_V_GEN)groff -man -Tascii $(srcdir)/gzip.1 | col -b | uniq > $@-t \ - && mv $@-t $@ + && mv $@-t $(srcdir)/gzip.doc gzip.doc.gz: gzip.doc $(bin_PROGRAMS) $(AM_V_GEN)./gzip < $(srcdir)/gzip.doc >$@-t && mv $@-t $@ -- 2.34.1