Subject: bug#7884: Yacc and FreeBSD make in VPATH builds

From: Ralf Wildenhues <[email-masked]>
Date: Thu, 27 Jan 2011 23:38:09 +0100

* Stefano Lattarini wrote on Thu, Jan 27, 2011 at 08:26:42PM CET:
> On Thursday 27 January 2011, Ralf Wildenhues wrote:
> > I must admit that I still don't like this a lot.  BSD is free software,
> > we shouldn't have to put ugly workarounds in place for it, and this
> > workaround does have some ugliness to it.
> >
> But IMHO its ugliness pales when confronted with that of other
> VPATH-related workarounds that are currently in automake:
>    `test -f '$<' || echo $(srcdir)`/$<

Sure.  But first off, one ugliness should not hold as excuse for
another, second, we cannot do much about IRIX/Sun make (well, at
least we could not, at the time).

> And moreover, while this last ugliness is imposed to every make
> implementation, even the well-behaved ones, the ugliness introduced
> by my patch only affects the "offending" make implementations
> (here, BSD make).

(FWIW, it's on my table to eliminate the above for GNU make, and
in turn to maybe fix depend2 to use it everywhere for non-GNU, as it
still lacks uses cases.)

> > Here's a radically different idea: get them to fix/improve their make.
> > 
> > What do you think about this?
> >
> That's surely good in the long run and for the future, but it won't help
> with older versions of FreeBSD.
> 
> Also, I'm halfway through an automake patch on the lines I've sketched,
> and I can say that it seems remarkably easy at this point ...

How do you ensure in your patch that 'make clean' does not create files?
Likewise distdir?  Does 'make -n' create files (for any target)?

Thanks,
Ralf