Re: Make's empty(), defined() and .ifdef don't catch outer .for iterators

Kogule Ryo <[email protected]> Wed, 8 Jul 2026 15:35:09 +0900
Newsgroups gmane.os.netbsd.devel.userlevel
Message-ID <[email protected]>
> 26/7/8 14:57=E3=80=81Roland Illig <[email protected]>:
>=20
> The usual workaround is to write this instead:=20
>=20
> .if ${i:M[Yy][Ee][Ss]}=20


Yeah, that's the point.

.if !empty(i:M[Yy][Ee][Ss])

and

.if ${i:M[Yy][Ee][Ss]}

are resolved into different results seems weird to me.


> See usr.bin/make/unit-tests/directive-for-empty.mk for a more detailed =
explanation.=20

Thank you.

--=20
Kogul=C3=A9, Ryo