On Saturday 14 January 2006 20:50, Ruslan Ermilov wrote: > On Sat, Jan 14, 2006 at 07:57:55AM +0100, Max Laier wrote: > > 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. > > This OTOH works since FOO variable is special (it's evaluated at parse > time): > > STUFF= foo bar foobar > > mtest: > .for FOO in foo > _at_echo ${STUFF:M${FOO}} > .endfor Okay, I knew there was a catch. So this can be worked around, thanks for the hint. > If there are other instances such as the example you've given, they should > indeed be fixed. I don't see any, sorry for the noise. -- /"\ Best regards, | mlaier_at_freebsd.org \ / Max Laier | ICQ #67774661 X http://pf4freebsd.love2party.net/ | mlaier_at_EFnet / \ ASCII Ribbon Campaign | Against HTML Mail and News
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:50 UTC