This is also lowest common denominator computing. If you work on a system or environment that will provide certain set of features why would you limit what you can do or learn based on what is possible for everyone? Should we also be limiting our belongings to the space of other peoples living conditions? Should I ride a mountain bike in the city because my road bike doesn't like rough terrain?
If you only want to target that system then it's fine to use every capability it offers. If you want to target more systems you have to either work with the lowest common denominator or write several times the same operating system specific code for each OS.
GNU make is still make, which in my opinion has quite some warts. So for my view portability is the biggest reason why to use make. If you want to be portable and the features outlined in the posix standard aren't enough for you, you might as well use something else.
I'm confused which make is the POSIX one. I have bmake on my linux boxes to handle the BSDisms, because it has features that are useful and not POSIX. If you don't like gmake, I get it.
But let's not pretend there's a commonly used make that only observes POSIX, I think the ones I've seen {b,g,n}make, makeapp and are mostly POSIX but non quite.
There is no POSIX make, POSIX is just a standard. What I mean is that you should only use features outlined in said standard. This allows you to use your makefiles on all makes that are POSIX conform.
This is also lowest common denominator computing. If you work on a system or environment that will provide certain set of features why would you limit what you can do or learn based on what is possible for everyone? Should we also be limiting our belongings to the space of other peoples living conditions? Should I ride a mountain bike in the city because my road bike doesn't like rough terrain?