From e597257438ff94d4e87d3e640f8e8159c4dfb962 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Sun, 7 Dec 2008 18:13:38 -0500 Subject: [PATCH] Fix make dist in a separate build directory without git In that case, make copied the sources.mk from $srcdir, but unless it existed already, the peculiar workings of VPATH did us in: make searched for the target, found it in $srcdir, and the dependency became circular. Fix by keeping sources.mk in $srcdir always. We can build it there, because its contents depends only on git state, not on anything in the build tree. This avoids the need to copy sources.mk alltogether. --- Make.mk | 34 +++++++++++----------------------- 1 file changed, 11 insertions(+), 23 deletions(-) diff --git a/Make.mk b/Make.mk index 2081b6543..2d79ec331 100644 --- a/Make.mk +++ b/Make.mk @@ -90,11 +90,7 @@ subst.in = sed \ # See `Cleanliness' below mk := subjects.mk ifeq ($(revctrl),git) -mk += sources.mk -else -ifneq ($(srcdir),.) -mk += sources.mk -endif +mk += $(srcdir)/sources.mk endif # Generated by Autoconf, not distributed: ac := config.h config.log config.status info.html info.nr lib stamp-h @@ -147,9 +143,7 @@ $(ttop) $(info.nr) $(info.html) $(empth_obj) $(empth_lib) # Removed by distclean: distclean := $(ac) $(mk) # Distributed by dist-source from $(srcdir) -src_distgen := $(acdist) -# Distributed by dist-source from . -bld_distgen := sources.mk +src_distgen := $(acdist) sources.mk # Distributed by dist-client from $(srcdir)/src/client cli_distgen := $(acdistcli) @@ -328,27 +322,21 @@ info.ps: info/TROFF.MAC info/INFO.MAC $(ttop) $(tsubj) $(tsrc) # List of source files -# Note: $(srcdir)/sources.mk is only used when the source tree came -# from a tarball rather than git. The following rules create a -# sources.mk to put into the tarball. It is not used otherwise in -# this build. - +# Note: $(srcdir)/sources.mk is only included when the source tree +# came from a tarball rather than git. The following rule creates a +# it only for putting it into the tarball. It is not used otherwise +# in this build. ifeq ($(revctrl),git) -.PHONY: sources.mk -sources.mk: - echo "src := $(src)" >sources.mk -else -ifneq ($(srcdir),.) -sources.mk: $(srcdir)/sources.mk - cp -f $^ $@ -endif +.PHONY: $(srcdir)/sources.mk +$(srcdir)/sources.mk: + echo "src := $(src)" >$@ endif # Distributing .PHONY: dist-source -dist-source: $(src_distgen) $(bld_distgen) - $(tarball) $(TARNAME)-$(VERSION) $(bld_distgen) -C $(srcdir) $(src_distgen) $(src) +dist-source: $(src_distgen) + $(tarball) $(TARNAME)-$(VERSION) -C $(srcdir) $(src_distgen) $(src) .PHONY: dist-client dist-client: $(cli_distgen) -- 2.43.0