Subject: Re: build.sh & lex & dependall
To: None <current-users@NetBSD.org>
From: Iain Hibbert <plunky@rya-online.net>
List: current-users
Date: 04/09/2006 10:32:12
On Sat, 8 Apr 2006, Alan Barrett wrote:

> 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.

hey, maybe me too - I probably meant 'a file that may need to be made' as
in, it is dependent on something else.

> 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.

Hm, I wonder if this is the cause of my troubles.. should "cvs update"
preserve the server timestamps? It doesnt seem to be doing so (cvs
checkout does) and since arlex.c arrives first it has the older
timestamp..

-rw-r--r--  1 root  wheel  46423 Apr  8 17:03:27 2006 arlex.c
-rw-r--r--  1 root  wheel   2397 Apr  8 17:03:35 2006 arlex.l

"cvs checkout" gives correct timestamps though

-rw-rw-r--  1 plunky  wheel  46423 Feb  2 20:39 arlex.c
-rw-rw-r--  1 plunky  wheel   2397 Feb  2 20:38 arlex.l

> 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.

Yes, that seems to be so, because if it doesnt exist the .o file gets made
just fine.

iain