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.