Hi Andreas, Dustin,
> On Sunday 12 March 2006 02:28, Dustin Mitchell wrote:
> > make: *** No rule to make target `compat/awk', needed by `compat'.
> > Stop.
> >
> > The thing that seemed to do the trick was to upgrade gmake from 0.79.1
> > to gmake 0.80. I guess it's time to install a real OS on this box, but
> > since I didn't see anything about this dependency, I thought I'd toss
> > it out there.
I guess you really mean from 3.79.1 to 3.80?
> Ah, that explains Josh Boyer's problems with RHEL 3.
>
> I don't have a box with old make around for testing. I wonder if somebody
> with
> an old version of make could try to find a workaround for older versions of
> make.
I installed GNU make 3.79.1 on my laptop and was able to reproduce the
problem. Searching the GNU make 3.80 ChangeLog file, I found this,
which probably explains it:
2002-07-07 Paul D. Smith <[EMAIL PROTECTED]>
(...)
* function.c (func_eval): Create a new make function, $(eval
...). Expand the arguments, put them into a buffer, then invoke
eval_buffer() on the resulting string.
(...)
So I take it that earlier versions of GNU make, including 3.79.1, and
other incarnations of make, don't know about the $(eval ...) construct.
We are using this construct twice in our Makefile:
$(eval $(foreach symlink,$(COMPAT_SYMLINKS),$(call
COMPAT_SYMLINK_local_install, $(symlink))))
and:
$(foreach symlink,$(COMPAT_SYMLINKS),$(eval $(call COMPAT_SYMLINK_install,
$(symlink))))
This must explain why the pseudo-symlinks cannot be created with make
3.79.1. Andreas, do you have any idea how we can replace this
construct? I don't.
While investigating this issue, I noticed that the pseudo-symlinks were
not properly removed by "make clean". I just committed a fix to CVS.
--
Jean Delvare
_______________________________________________
Quilt-dev mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/quilt-dev