quilt-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Quilt-dev] Make problems with 0.43 and up


From: Jean Delvare
Subject: Re: [Quilt-dev] Make problems with 0.43 and up
Date: Sun, 12 Mar 2006 14:56:15 +0100

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  <address@hidden>
(...)
        * 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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]