Subject: Re: build.sh & lex & dependall
To: None <current-users@NetBSD.org>
From: Alan Barrett <apb@cequrux.com>
List: current-users
Date: 04/08/2006 11:40:10
On Sat, 08 Apr 2006, Iain Hibbert wrote:
> > src/gnu/dist/binutils/binutils/arlex.c is in the CVS repository, so I
> > don't know why the build was trying to create it.
> 
> I guess its a feature of the reachover - its a file that needs to be
> made, so it will be made in the objdir and it doesnt exist so it is
> made, being but I dont know why lex is told to make it in the srcdir.

No, I think I wasn't clear.  arlex.c is not supposed to be "a file that
needs to be made"; it's supposed to be retrieved from the CVS repository
when you do a cvs update or checkout.  Perhaps your copy of arlex.c is
older than your copy of arlex.l, in which case deleting both and doing
another cvs update might help.  If they do both exist but the timestamps
are wrong, then I think that ${.TARGET} will point to the file that
already exists in the srcdir.

I seem to recall similar cases where the reach-over makefiles have
rules to explicitly prevent this sort of problem, but I can't find any
examples right now.

--apb (Alan Barrett)