Hi Larry, i think we agree that one syntax should be picked. Nobody is proposing that two or more separate Makefiles should be maintained.
The point we appear to disagree on is this: You seem to say "Pick *any* specific program, use the full feature set of one particular version of that specific program, and add a hard dependency on that specific version of that specific program." I say portability is an asset unless you have a good, specific reason to sacrifice it, so use POSIX syntax or at least syntax supported by all major make(1) implementatipons. "I want to use $< in non-suffix rules" and the like hardly qualify as good reasons in my book. I fear we can agree to disagree on that particular point. I do think portability is worth a bit of work, in general, and also results in general cleanliness and simplicity of the code - you are aware that my patches motivated Branden to pursue additional simplifications that, IMHO, make the build system absolutely better without even considering portability, right? And that even my patches themselves did not make the Makefiles more complicated but *only* more portable? Besides, the sum of FreeBSD + OpenBSD + Illumos users can hardly be classified as "very small". Dragonfly is likely to be almost the same as FreeBSD in this respect, i expect no specific issues there. I do expect that systems like Solaris and AIX might occasionally reveal issues that the *BSDs don't, but i don't expect those to be that much harder with respect to make(1). Even if you insist on GNU make, other portability issues to Solaris are likely to easily outweigh the (limited) effort that adhering to portable make(1) might cause. Yours, Ingo