There is a tendency in the technical world to be enamored of ones own “stuff” to the exclusion of other “stuff”. In the sense that if you didn’t invent it, it can’t be good. Sometimes it is called NIH for “not invented here” when it pervades a larger group.
Make is one such example.
Make is an incredibly powerful tool. Insanely powerful, as it is quite simple to use and work with.
The simpler the tool the more power you can bring to bear.
Not being content with make, some wise folk build aimk. Aimk is a script. Not a makefile. Aimk doesn’t have a hope in the world of running on a system that doesnt look closely like a POSIXy system.
Aimk is supposed to be “architecture independent make”. I know the PVM folks used it.
It is unfortunate. It is a royal pain to use. Worse, it doesn’t admit nice targets. Like “clean”. It doesn’t admit parallel make. Like make does.
Why was it invented? You got me. I don’t know.
Same thing with Ant. And most of the other build systems out there. Someone scratched and itch.
Now later on we are driving ourselves batty dealing with something that a simple application of hydrocortizone could have solved …
Maybe someday wise programmers will be measured not just on the quality of their code, but the value that their code provides, and the needs that it fills. Until then, we are going to get a thousand and one ways to build a program, none of which really work well together, all of which have some odd quirks at best….
Enough to drive you nuts.
(this was being used to build SGE … oh how I wish for a Make file and a simple make command to build by)