<< 5/15 >>
First Last

Recursive variables

The answer is, you cannot answer. It depends on the context.

= is recursive assignment and := is not.

  x = $(info foo)  # Assign "$(info foo)" to x. Nothing will be outputted.
  y := $(info bar) # Assign the result of "$(info bar)", which is "", to y. So it outputs "bar" as the side effect.
  $(x)             # Now $(info foo) is evaluated. "foo" will be outputted.
  $(x)             # You can output "foo" twice.
  $(y)             # y was already evaluated, so nothing will be outputted.