Follow-up Comment #3, bug #49093 (project make): I'm not asking for behavioral change -- I figured that would have been a long shot at best. But I still feel like the docs are inconsistent, or at least could be clarified a bit.
Specifically, the sentences "Note that 'ifdef' only tests whether a variable has a value. It does not expand the variable to see if that value is nonempty." are, to my mind, incorrect, and not consistent with the earlier definition, or with the following examples. In your first example here, FOO has a value, even if it's empty, so according to those sentences, it should evaluate to true. I don't know whether that counts as "expansion", or whether "expansion" only matters when there's another variable for indirection, as in the second example. Perhaps something like "Note that 'ifdef' only tests the named variable for a non-empty value, and does not further expand any variables it might reference." in place of those two sentences. I'm not positive that would have told me what I needed to know, but I think it's a bit better than what's there now. That said, I know the answer now, and this bug can be found if people search for ifdef and gnu make, so if you're averse to the change, perhaps that's enough. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?49093> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make