[Top][All Lists]
[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: |
Philip Guenther |
Subject: |
Re: Issue w/ statements that work in some versions of Make and not 3.77 |
Date: |
Mon, 5 Nov 2007 20:39:40 -0700 |
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.
Philip Guenther