4 ms·
Make dsl is terrible, it's the yaml of build systems. If you are a python dev, give doit a try.
by BiteCode_dev 4y ago
Make dsl is terrible, it's the yaml of build systems.
If you are a python dev, give doit a try.
- Koshkin 4y agoWhat is so "terrible" about it? I think the rule syntax is as simple as it gets.
- vitiral 4y agoRequired tabs, lines are each their own "script" instead of blocks (allowing variables), not allowing other executors (i.e. python, TCL, etc would be better than sh).
- MRtecno98 4y agoActually you can tell GNU Make not to create a new shell for every command using .ONESHELL[0] and you can also select a different shell executable to run said commands[1] [0]: https://www.gnu.org/software/make/manual/html_node/One-Shell.html https://www.gnu.org/software/make/manual/html_node/One-Shell... [1]: https://www.gnu.org/software/make/manual/html_node/Choosing-the-Shell.html https://www.gnu.org/software/make/manual/html_node/Choosing-...
- philkrylov 4y agoCheck (GNU Make) .RECIPEPREFIX, (GNU Make) .ONESHELL, (POSIX Make) SHELL=
- blacksqr 4y agoTclmake, a partial Make clone in pure Tcl: https://github.com/TclLab/tclmake https://github.com/TclLab/tclmake
- nottorp 4y agoInteresting that everyone who recommends an alternative to Make picks... something different. I doubt there will be two people recommending the same thing in the whole discussion.
- BiteCode_dev 4y agoIndeed, which supports the idea that make is so popular because it was first, and is still installed by default on most unixes. Like JS is so popular because it's the main language on the web clients, and by default on most of them. Also, because doit assumes you have a python project, and make is language agnostic, the latter will have a broader potential user base. However, doit is not that far from make in the sense it doesn't assume each language workflow. It just gives you a declarative syntax to setup tasks and optionally your dag of dependencies and targets: you then do whatever you want with it. This gives it simplicity and flexibility and power, which are similar qualities that I think make nails. I do think it would gain from being a stand alone executable so at least you were not expected to have python installed on your machine to run it.