The situation with make/cmake is actually quite simple.
It's a standard. Therefore, anyone interested in building applications is familiar with it and can adapt it to their needs.
If the build is performed by a library in a language, this means that in order to read and edit it, you force your users to:
1. Install an interpreter for the language you use for building.
2. Learn that language.
3. Learn the specific make-library you used.
This is rude to your users. Nobody asked you to force them to study something they don't need just to fix your makescript for their needs.