On Wed, Mar 24, 2010 at 8:14 PM, Todd Showalter
<address@hidden> wrote:
On Tue, Mar 23, 2010 at 11:52 PM, Pritam Nandy
> when I try to make a make file using gnu make v3.60 it goes on fine but when
> I try to use make v3.79 on the same file I get an error like this -
> mainLib.gmk:446: *** target pattern contains no `%'. Stop.
>
> line 446 of this line contains something like -
> genlib: $(LIBLIST)
I'd suggest printing out $(LIBLIST) and see what you get. At a
guess, something in $(LIBLIST) has a % character in it. I'm going to
go out on a limb here and guess you're working on windows, and it's
expanding to something like:
genlib: %DIR%/file.c
Since windows environment variables are of the form %FOO%, and
IIRC make's (and cygwin's) handling of those has changed from version
to version. If you aren't running windows, it's still possible that
something in $(LIBLIST) has a % character in it. This will lead
directly to madness.
If that's what you're getting, I presume what's happening is that
make is seeing the %, assuming it should be doing regex matching
between the target (genlib) and the prerequisite (%DIR%/file.c), and
can't find a % in the target to match the % symbols in the
prerequisite.
Todd.
--
Todd Showalter, President,
Electron Jump Games, Inc.