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