Date: Thu, 5 Feb 2015 17:39:20 -0800 From: NGie Cooper <yaneurabeya@gmail.com> To: "Simon J. Gerraty" <sjg@juniper.net> Cc: "freebsd-arch@freebsd.org" <arch@freebsd.org> Subject: Re: Better way to do conditional inclusion in make Message-ID: <CAGHfRMCNMoisdn=Xheg-V5SnJhvB1yfk2s_RJc%2BSHYLwt4eekA@mail.gmail.com> In-Reply-To: <5180.1423185968@chaos> References: <39C20BA1-E6B1-4DAE-95BB-8011A0A64D54@bsdimp.com> <54D40DC4.9070907@freebsd.org> <CAGHfRMAdOTUQZvU5D_1KYEyZdoaD4RJ2BTTOgUjrm3sK31U0kw@mail.gmail.com> <5180.1423185968@chaos>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 5, 2015 at 5:26 PM, Simon J. Gerraty <sjg@juniper.net> wrote: > NGie Cooper <yaneurabeya@gmail.com> wrote: >> > how does it cope with the case where a single file is dependent on either of >> > two options. >> > (we have this in our tree.. not sure if it occurs in the FreeBSD tree.) >> > file could occur in both lists or twice in one list.. >> >> This is a good, valid point. I think that Warner's proposal will fix >> the simple case (using one knob), but not the more complex case. > > FILES:= ${FILES:O:u} > > should cover that case. Yes, but not this: .if ${MK_BAR} != "no" && ${MK_FOO} != "no" FILES+= a_lot_of_bar_in_my_foo .endif >> 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 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. >> 2. Requires creating snippets for dealing with magic in bsd.*.mk (I >> wouldn't want this magic going into the general purpose snippets >> because it would probably break backwards compatibility). > > Not necessarily eg. if you clean/simplify the list after building it. I'll delay my reply on this because my other replies might change my question.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGHfRMCNMoisdn=Xheg-V5SnJhvB1yfk2s_RJc%2BSHYLwt4eekA>