And, to be fair, Berkeley make too. And, hell, POSIX make while we’re at it. Why do they all have to implement a completely different set of extensions to the standard (except in the case of POSIX make, where my complaint is that it is presumably so limited as to make such extensions necessary).