Date: Tue, 20 Mar 2012 10:19:40 -0400 From: John Baldwin <jhb@freebsd.org> To: Doug Barton <dougb@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, Dimitry Andric <dim@freebsd.org>, Bruce Evans <brde@optusnet.com.au>, svn-src-head@freebsd.org, Chris Rees <utisoft@gmail.com> Subject: Re: svn commit: r233052 - head/share/mk Message-ID: <201203201019.40486.jhb@freebsd.org> In-Reply-To: <4F67A7A9.50003@FreeBSD.org> References: <201203162319.q2GNJjx5039482@svn.freebsd.org> <4F678B03.8050307@FreeBSD.org> <4F67A7A9.50003@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, March 19, 2012 5:39:53 pm Doug Barton wrote: > On 3/19/2012 12:37 PM, Dimitry Andric wrote: > > It would be much nicer to be able to write: > > > > .if defined(FOO) > > .if defined(BAR) > > CFLAGS+= -DFOO_BAR > > .endif > > .endif > > Take a look at /usr/ports/Mk/bsd.port.mk for how this can be done. Hmm, do yoo have a specific example? The bits in I see in bsd.port.mk suffer from the limitation Dimitry raises, e.g.: .if defined(OPTIONS) # include OPTIONSFILE first if exists . if exists(${OPTIONSFILE}) && !make(rmconfig) . include "${OPTIONSFILE}" . endif . if exists(${OPTIONSFILE}.local) . include "${OPTIONSFILE}.local" . endif WITHOUT:= WITH:= . if defined(OPTIONS) REALOPTIONS=${OPTIONS:C/".*"//g} . for O in ${REALOPTIONS} RO:=${O} . if ${RO:L} == off WITHOUT:= ${WITHOUT} ${OPT} . endif . if ${RO:L} == on WITH:= ${WITH} ${OPT} . endif OPT:=${RO} . endfor . endif That is, all the lines that don't start with a . are not indented, and even this indentation is rather horrible (it doesn't nest, and it has the odd structure of 'if defined(OPTIONS) { if defined(OPTIONS) {} }'. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201203201019.40486.jhb>