[Top][All Lists]

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

Re: Special Variables

From: Philip Guenther
Subject: Re: Special Variables
Date: Wed, 29 Oct 2008 21:43:07 -0700

On Wed, Oct 29, 2008 at 11:46 AM,  <address@hidden> wrote:
> I'm trying to find documentation on these "special" variables I've been 
> seeing in
> some makefiles:
> $(TOOLS_OBJECTS:.o=): address@hidden
> $$(@B).c
> $(*F).c
> $(TEST_EXES): $$(@R).o

1) where have you looked so far?
2) was this makefile originally written for use
    with some other platform's version of make?

Two of them, $$@ and $(*F), are documented in the GNU make info pages.
 You _did_ look there first, right?

As for the others, there are two possibilities:
1) they're defined by the makefile
2) they're built-in to some other version of make

It may look bizarre, but it's completely legal to write something like
          @B = $(basedir)/$(@F)

and thereby define $(@B).  If you don't see something like that, the
research the makefile's origins.  Who wrote it?  When?  On what
platform?  Are there other people using this package?

> I'm just having trouble figuring out what they are for, and why some of them 
> fail
> (like the error below):
> make *** No rule to make target '$(@B).c', needed by 'X86/test.o'.  Stop.

For this part, you need to read the info page's description of
".SECONDEXPANSION".  Note that I'm talking about the info pages from
GNU make version 3.81.  If you're running 3.80 or earlier, UPGRADE.

Philip Guenther

reply via email to

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