Date: Thu, 5 Feb 2015 22:32:06 +0100 From: Dimitry Andric <dim@FreeBSD.org> To: Warner Losh <imp@bsdimp.com> Cc: "freebsd-arch@freebsd.org" <arch@FreeBSD.org> Subject: Re: Better way to do conditional inclusion in make Message-ID: <B72A818B-A8ED-45C3-998E-D179F6B9F71D@FreeBSD.org> In-Reply-To: <39C20BA1-E6B1-4DAE-95BB-8011A0A64D54@bsdimp.com> References: <39C20BA1-E6B1-4DAE-95BB-8011A0A64D54@bsdimp.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On 05 Feb 2015, at 18:56, Warner Losh <imp@bsdimp.com> wrote:
>
> We know that MK_foo is always going to be yes or no
> for build options. We can leverage that fact, and the fact that bmake is so much better at variable
> expansion than fmake was (especially in the early days) to instead move to something like:
>
> FILES=list of unconditional files here ${FILES.yes}
> FILES.${MK_foo}+=foo bar biz
> FILES.${MK_baz}+=baz bing boo
>
> which eliminates a whole lot of needless .if / .endif lines, lots of extra blank lines, etc.
>
> Comments?
One disadvantage is that you then cannot intersperse MK_foo files or
subdirs in between unconditional ones, and keep a certain order, e.g.
like:
FILES+= a b c
.if ${MK_foo} != "no"
FILES+= d e f
.endif
FILES+= g h i
Of course, this is only important for a few particular places, most of
the tree should not care too much about the order in which subdirs or
files are built.
-Dimitry
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.26
iEYEARECAAYFAlTT4VsACgkQsF6jCi4glqNuoACfRtkwBQTwesdlmOq9LNish03G
jvIAnizuYR4uNVhg83D0kKUCQ7+pg0X0
=3wVX
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B72A818B-A8ED-45C3-998E-D179F6B9F71D>
