/etc/make.conf && CURDIR

Matthias Apitz guru at unixarea.de
Sun Jun 9 18:08:15 UTC 2013

El día Monday, June 10, 2013 a las 03:03:07AM +0930, Shane Ambler escribió:

> > it works, but if I let away the '*' in the line, i.e.
> >
> > .if ${.CURDIR:M*/multimedia/cuse4bsd-kmod}
> > SYSDIR=/usr/home/guru/head/src/sys
>  > .endif
> >
> > the 'make' asks me to set SYSDIR:
> >
> > ...

> You'll find the trailing asterix is a wildcard to match any sub dirs.
> When building CURDIR only contains multimedia/cuse4bsd-kmod - CURDIR
> will be something like
> /usr/ports/multimedia/cuse4bsd-kmod/work/cuse4-bsd-kmod-0.1.27/
> The pre and post * matches all paths with multimedia/cuse4bsd-kmod in
> them - usually pretty unique when building within the ports dirs.

I was thinking the same re/ wildcard; on the other hand, I always saw
hints like this for setting certain values in make.conf based on the
ports' name, liek for example:

.if ${.CURDIR:M*/category/port}

those examples never used the * (i.e. /category/port/* ); that's why
until today I was thinking that the expresion means already "if
/category/port is part of current dir", perhaps I have to read a make
manual for this again...

thanks for your feedback in any case

Sent from my FreeBSD netbook

Matthias Apitz, <guru at unixarea.de>, http://www.unixarea.de/ f: +49-170-4527211
UNIX since V7 on PDP-11, UNIX on mainframe since ESER 1055 (IBM /370)                     
UNIX on x86 since SVR4.2 UnixWare 2.1.2, FreeBSD since 2.2.5

More information about the freebsd-questions mailing list