On Wed, 8 Apr 2009 08:45:04 +0200 Mel Flynn wrote: > On Tuesday 07 April 2009 21:54:13 Boris Samorodov wrote: > > Hello List, > > > > > > I need to create a list with some valid values and check an input > > value. Should this makefile work? > > ----- > > LIST=f8 f9 > > > > all: > > @echo USE_LINUX=${USE_LINUX}, LIST=${LIST} > > .if empty(LIST:M${USE_LINUX}) > > @echo The value is invalid > > .else > > @echo The value is valid > > .endif > > ----- > > % make USE_LINUX=f8 > > USE_LINUX=f8, LIST=f8 f9 > > The value is invalid > > -----
Hi Mel! > Doesn't work because the match is not on words of the list but on the full > list and you're not using globs. You are ringht, but not for the case. The case here seems to exist because variables are not guaranteed to be expanded for M modifier. I.e. even with globs the result will not be as expected. > Aside from Giorgos' method, one might consider: > LIST=f8 f9 > LINUX_VER=invalid > .for _VERSION in ${LIST} > .if (${USE_LINUX} == "${_VERSION}") > LINUX_VER=${_VERSION} > .endif > .endfor > all: > .if !empty(LINUX_VER:Minvalid) > @echo "Invalid linux version: ${USE_LINUX}" > .else > @echo "Using linux version ${LINUX_VER}" > .endif Works. Thanks! WBR -- Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD Committer, http://www.FreeBSD.org The Power To Serve _______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "freebsd-questions-unsubscr...@freebsd.org"