Most developers (here, at least) know nothingabout build systems, nor do they care to learn. So, it's not that they don't*need* logic in their declarations, it's that they *don't know they don't need* logicin their declarations.
This is similar to whatI have experimented in the b2 Python port with when using theYAML/JSON/XML files to declare targets. The target declaration file, whilenot as powerful, can cover about 90% of target creation.