Date: Thu, 5 Feb 2015 22:10:09 -0800 From: "Simon J. Gerraty" <sjg@juniper.net> To: NGie Cooper <yaneurabeya@gmail.com> Cc: "freebsd-arch@freebsd.org" <arch@freebsd.org> Subject: Re: Better way to do conditional inclusion in make Message-ID: <11865.1423203009@chaos> In-Reply-To: <CAGHfRMCNMoisdn=Xheg-V5SnJhvB1yfk2s_RJc%2BSHYLwt4eekA@mail.gmail.com> References: <39C20BA1-E6B1-4DAE-95BB-8011A0A64D54@bsdimp.com> <54D40DC4.9070907@freebsd.org> <CAGHfRMAdOTUQZvU5D_1KYEyZdoaD4RJ2BTTOgUjrm3sK31U0kw@mail.gmail.com> <5180.1423185968@chaos> <CAGHfRMCNMoisdn=Xheg-V5SnJhvB1yfk2s_RJc%2BSHYLwt4eekA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
NGie Cooper <yaneurabeya@gmail.com> wrote:
> .if ${MK_BAR} != "no" && ${MK_FOO} != "no"
> FILES+= a_lot_of_bar_in_my_foo
> .endif
>
Actually the same idea can handle that:
FILES+= ${FILES.yesyes}
FILES.${MK_BAR}${MK_FOO}+= a_lot_of_bar_in_my_foo
extend as far as you like
> >> What concerns me about the short description of the implementation,
> >> (and something that I'm going to add to the phabricator review) is
> >> that this will:
> >>
> >> 1. Break using FILESGROUPS
> >
> > Why?
>
> The same reason why bsd.progs.mk didn't work with bsd.prog.mk on
> FreeBSD out of the box originally -- defaults:
>
> 10 FILESGROUPS?= FILES
> 11
> 12 .for group in ${FILESGROUPS}
> 13 buildfiles: ${${group}}
> 14 .endfor
> 15
If you do
FILES:= ${FILES}
prior to the above and even if you don't
I don't think the behavior would change - at least for the snippet quoted.
${${group}} would still expand to the same thing, and dependency rules
don't care if something is listed more than once
FILES:= ${FILES}
would probably be a good idea anyway though.
> Warner's change (based on what I understand, again I haven't looked at
> the review yet...) would require setting FILESGROUPS explicitly. So if
> you had a Makefile snippet that defines the non-default FILESGROUPS
> already, it will break that usecase.
I don't think Warners change - per the brief description makes no
difference to
FILESGROUPS?= FILES
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?11865.1423203009>
