-- David Starks-Browning <starksb(a)ebi.ac.uk> spake thusly:
On Thursday 26 Jul 01, David Starks-Browning writes:
> Of course, I should have checked CVS *first*. Sorry.
>
> I now also have this at the 'make' stage:
>
> > > > for f in gnudoit gnuattach rcs-checkin rcs2log vcdiff
> > > > gzip-el.sh add-big-package.sh; do \
> > > > if test ! -r $f; then ln -s
> > > > /usr/local/src/XEmacs/xemacs-21.5/lib-src/$f $f; fi; \
>
> But in my case it succeeds. Again, I suspect you simply had the
> targets leftover from a previous 'make'. I leave it to the experts
> whether that's user error, or whether 'ln -s' should become 'ln -f
> -s'.
Sigh. This was a silly thing to say. As written, it should not
attempt 'ln -s' if the target already exists. Duh. Damn fever
talkin'.
That depends. If the link exists but is broken, then make will think it
doesn't exist and will try to remake it. But then if you do 'ln -s',
the link is already there and the ln command will fail.
On the other hand, if the link is not broken but simply wrong, this
does no good. And arguably it's not up to a make process to fix a
broken tree. That's what 'make clean' is for.
So there is clearly something broken here, possibly in Cygwin.
I'll
have a closer look.