[Top][All Lists]

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

Re: Question regarding variables

From: John Graham-Cumming
Subject: Re: Question regarding variables
Date: Thu, 30 Jun 2005 10:14:02 -0400

On Thu, 2005-06-30 at 12:06 +0530, Bhaskar G wrote:
> I would like to know if there is macro that stores list of all the
> existing variables. 

Yes there is, it's called .VARIABLES.  

> My requirement is as follows. I have a set of variables defined
> currently which starts with _BG%. 
> I need to change these variables to begin with _SP% and also need to
> support _BG% for sometime. 
> I know that I can individually look for  variables and conditionally
> assign it as follows 
> Can I handle this using a foreach command in make easily? without
> individual assignments. 

Yes, you can with GNU Make 3.80 or above like this:

    FOO1 = foo1
    FOO2 = foo2

    $(foreach a,$(.VARIABLES),$(if $(patsubst FOO%,,$a),,$(eval BAR
    $(patsubst FOO%,%,$a) = $$($a))))

        @echo $(BAR1) $(BAR2)

Which is the same as doing:

    FOO1 = bg1
    FOO2 = bg2

    BAR1 = $(FOO1)
    BAR2 = $(FOO2)

        @echo $(BAR1) $(BAR2)

John Graham-Cumming

GNU Make Standard Library:

reply via email to

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