help-make
[Top][All Lists]
Advanced

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

Re: Issue w/ statements that work in some versions of Make and not 3.77


From: Richard E. Flower
Subject: Re: Issue w/ statements that work in some versions of Make and not 3.77
Date: Mon, 5 Nov 2007 21:26:50 -0800

On Nov 5, 2007, at 7:39 PM, Philip Guenther wrote:

On 11/5/07, Rick Flower <address@hidden> wrote:
We've got a mixed environment here and have Make 3.74. Make 3.77 and Make
3.81.. I've got the following statements that are accepted (w/o
complaining) by Make 3.74 and also 3.81 but elicit errors from 3.74.. Any
ideas on what its complaining about?

The involved statements use $(eval), but that function wasn't
introduced until version 3.80.  There are two possibilities; either
A) the generated rules aren't required for the makefile to function correctly
   but rather merely implement an optimization, or
B) the rules are required and the makefile won't work correctly without them.

If (A) is true, then you should wrap all the involved statements in an
ifdef/endif so that version of make without $(eval) skips them:

$(eval HAVE_EVAL=1)
ifdef HAVE_EVAL
....whatever here
endif


If (B) is true, then I have no idea what you trying to accomplish.


Choice (C), of course, is to upgrade all your system to GNU make
version 3.81, which has been out for over 19 months(!), and stop
spending your time on this.

Personally, I'd love to go w/ option 'C', but I've got to run it by our CM group (configuration mgmt) since this is used by many groups and last time I tried to force an update it broke some of our existing Makefiles for some reason (I didn't have time to investigate).. Anyway, in our case we do need
this so I'll push for an upgrade and see if I get any takers.. Thx!

-- Rick




reply via email to

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