pspp-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dummy prerequisites and "make clean"


From: John Darrington
Subject: Re: dummy prerequisites and "make clean"
Date: Sat, 28 Nov 2020 08:51:00 +0100
User-agent: Mutt/1.10.1 (2018-07-13)

On Fri, Nov 27, 2020 at 06:00:14PM -0800, Ben Pfaff wrote:
     On Fri, Nov 20, 2020 at 12:36 AM John Darrington
     <john@darrington.wattle.id.au> wrote:
     >
     > On Thu, Nov 19, 2020 at 10:31:28PM -0800, Ben Pfaff wrote:
     >      When I type "make clean", the first thing that happens is that 
gnulib
     >      gets built. This seems to be caused by commit 49501a8888003350 "Add
     >      default to generate prerequisistes for any rule", which always build
     >      libgl, even if the target is "clean".
     >> It should only do that if libgl is not up to date.
     
     The "clean" target is actually completely broken. If you run "make clean"
     from a fresh worktree, what happens is this:
       - libgl gets built
       - libgl gets cleaned
       - libgl gets built again (!)
     And, thus, the "clean" doesn't actually work. It does not clean the build
     tree.

When you say "from a fresh worktree", I presume you mean directly after running 
configure ?
(otherwise there would be no makefile and I would expect an error
like "*** No rule to make target 'clean'".

I haven't experienced the effects that you describe, but I don't doubt what you 
are
reporting.
     
     > Yes.  Before this commit, attempting to run many targets from a clean 
tarball
     > without first running "make" (from memory, I think "make check", "make 
doc" and
     > "make install" were just some of those affected), resulted in wierd 
failures after
     > about five minutes half way through the process.
     
     That's pretty well-understood behavior that is actually documented in the
     Automake manual (under "Built Sources"). If it's annoying, then we can
     work on eliminating the use of BUILT_SOURCES. (It would be harder to
     fix libgl.)

Fixing libgl of course would require help and cooperation from the gnulib team 
and
it's not given that they would provide that, but if they would, then I think it 
would
be the best solution.   Eliminating BUILT_SOURCES would also be a good idea,  
but I'm
not sure how easy this would be either.  We would have to add explicit 
dependencies
for many things.

(( In my opinon the Automake is broken, not in it's detail but in its 
fundamentals.
 The manual says "Automake’s model is that dependency computation should be a 
side 
 effect of the build."  I think this was a very unfortunate decision by the 
automake
 designer(s) and the result is a lot of fighting against what automake is 
doing. ))

J'



reply via email to

[Prev in Thread] Current Thread [Next in Thread]