On 21/11/12 09:38, Philip Guenther wrote:
To quote the GNU make info pages:
-------
A "substitution reference" substitutes the value of a variable with
alterations that you specify.  It has the form `$(VAR:A=B)' (or
`${VAR:A=B}') and its meaning is to take the value of the variable VAR,
replace every A at the end of a word with B in that value, and
substitute the resulting string.
-------

I.e., "VAR" has to be the name of a variable.  So, given
    all: $($(wildcard *.page):.page=.html)

make expands "$(wildcard *.page)" *and then treats the result as the
name of a variable*.  Since your makefile doesn't have a variable with
the name "whatever.page another.page something.page etc.page", the
result is empty.

To do a pattern substitution on something other than the result of a
variable expansion, use the $(patsubst) function directly:

all: $(patsubst %.page,%.html,$(wildcard *.page))

Ah, thank you for that, Philip! Makes sense now.


--
Miguel

_______________________________________________
Help-make mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/help-make

Reply via email to