cross-posted from: https://lemmy.ml/post/4908824
There are two major flavours of variables in GNU Make: āsimpleā and ārecursiveā.
While simple variables are quite simple and easy to understand, they can be limiting at times. On the other hand, recursive variables are powerful yet tricky.
ā¦
There is exactly one rule to recall when using recursive variablesā¦
š§ The value of a recursive variable is computed every time it is expanded.
A general programming discussion community.
itās that illegal?
Uh, Iām not sure I understand what you mean.
RMS notoriously fought against variables in make
I think I understand where RMS was coming from RE ārecursive variablesā. As I wrote in my blog:
They extend the capabilities of Make quite substantially. But like any other powerful tool, one needs to use them sparsely and responsibly or end up w/ a complex and hard to debug Makefile.
In my experience, most of the times I can avoid using recursive variables and instead lay out the rules and prerequisites in a way that does the same. However, occasionally, Iād have to resort to them and Iām thankful that RMS didnāt win and they exist in GNU Make today š IMO purist solutions have a tendency to turn out impractical.