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 _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"