Functions do accept % as argument, but strange things happen. Consider this 
makefile (run with files Barticle and article in the directory)

art = article
scan = $(wildcard *$(1)) $(1)

article.xsl metadata.xsl: %.xsl: $(call scan,$(art))
    @echo result $^

The result is 
'result Barticle article'

It shows the scan function works as expected. However, if the call to scan is 
replaced by $(call scan,%), (note % has the same value as $(art)) the result 
becomes
'result article'.

It shows the wildcard function does not do its job properly. This becomes even 
more clear when the definition of scan is replaced by 'scan = $(wildcard *$(1) 
$(1))'. The result becomes
'result'

Replacing the scan-call back to its original $(call scan,$(art)), the result 
becomes the (again) expected:
'result Barticle article'

This smells like a bug. Is there a workaround available, like copying the 
contents of the variable?

thanks, Ruud

Reply via email to