make or kmod.mk broken



Hi,

in kmod.mk (and I believe in other places as well) we have constructs in the
form of this: ${SOMEARRAY:M${SOMEVAR}} However, make doesn't seem to
understand this. I don't see any traces that it ever did and I have no clue
if it should.

I might well misunderstand things (not a make guru) so here is my testcase:

| STUFF= foo bar foobar
| FOO=foo
|
| mtest:
| echo ${STUFF:M${FOO}}

and "$make mtest" gives:
| echo }
| }

this clearly suggests that make is not equipped to handle the variable
expansion here.

In any case we have to fix either kmod.mk or make.

On a related question: How can I get the actual location of a file that is
in .PATH? All I could come up with was ${.ALLSRC:M*${MY_FILE}} which doesn't
work as I am explaining here.

--
/"\ Best regards, | mlaier@xxxxxxxxxxx
\ / Max Laier | ICQ #67774661
X http://pf4freebsd.love2party.net/ | mlaier@EFnet
/ \ ASCII Ribbon Campaign | Against HTML Mail and News

Attachment:pgp6kfio8ooQS.pgp
Description: PGP signature