Earlier quoted context omitted.
Note that the author of that paper (a friend of mine) wrote another build system, the dead-simple-but-awesome make.py. I have a mirror/fork of it[0], since it's been unmaintained for a while (but it mostly doesn't need any maintenance). The entire build system is a single Python script that's less than 500 lines of code. Rather than trying to fit complicated rules into Make's arcane syntax, rules are specified with a…
make.py looks great. I also wrote a make replacement in python (2.7) [1]. I'm proud of it but it doesn't do parallel builds and there are so many other build tools that are better tested. But I'll put it here in case it gives anyone any ideas. [1] https://github.com/robochat/buildbit
The Language Agnostic, All-Purpose, Incredible, Makefile
91–100 of 124 posts
Re: The Language Agnostic, All-Purpose, Incredible, Makefile
#92It's sane and simple. Written in go.
Re: The Language Agnostic, All-Purpose, Incredible, Makefile
#93Make is great, and I wish more people would use it in place of whatever monstrosity is en vogue this week. However, there is one thing which Make absolutely cannot handle, and that is file names with spaces . If you have any risk of encountering these without any possibility of renaming them, you’ll sadly have to give up on using Make; it just won’t work.
File names with spaces is a sign of lousy developers and IT technicians. If you have file names with spaces you have already lost.
Re: The Language Agnostic, All-Purpose, Incredible, Makefile
#94Make is great, and I wish more people would use it in place of whatever monstrosity is en vogue this week. However, there is one thing which Make absolutely cannot handle, and that is file names with spaces . If you have any risk of encountering these without any possibility of renaming them, you’ll sadly have to give up on using Make; it just won’t work.
A way around that is to convert any spaces in a filename to non-breaking spaces (if you can). That will not only fix problems in Make, but also ease use in the command line.
How do you portably type a non-breaking space, if you don't have tab-completion?
Re: The Language Agnostic, All-Purpose, Incredible, Makefile
#95Earlier quoted context omitted.
i am dead serious about that. Allowing the separator character in filenames is a nightmarish error.
Only for tools that are stupid for not being able to handle any kind of filename.
I agree that filesystems must allow almost arbitrary filenames. But some characters should definitely be forbidden, like '/', '\n' and ' '.
Re: The Language Agnostic, All-Purpose, Incredible, Makefile
#96What I love about Makefiles is that they just use the CLI tools. Full build tools like Gradle or Bazel require installing specific plugins and learning a new inferior syntax, making them a nightmare to use if you need to use a non implemented feature of the underlying tool. The biggest pain point is also that they don't even bother to print the actual command being executed! I recently used make in a side project[1]…
Re: The Language Agnostic, All-Purpose, Incredible, Makefile
#97Make is great, and I wish more people would use it in place of whatever monstrosity is en vogue this week. However, there is one thing which Make absolutely cannot handle, and that is file names with spaces . If you have any risk of encountering these without any possibility of renaming them, you’ll sadly have to give up on using Make; it just won’t work.
A way around that is to convert any spaces in a filename to non-breaking spaces (if you can). That will not only fix problems in Make, but also ease use in the command line.
Re: The Language Agnostic, All-Purpose, Incredible, Makefile
#98Make is great, and I wish more people would use it in place of whatever monstrosity is en vogue this week. However, there is one thing which Make absolutely cannot handle, and that is file names with spaces . If you have any risk of encountering these without any possibility of renaming them, you’ll sadly have to give up on using Make; it just won’t work.
And are we gonna talk about case-insensitive filesystems? cringe
Re: The Language Agnostic, All-Purpose, Incredible, Makefile
#99Make is great, and I wish more people would use it in place of whatever monstrosity is en vogue this week. However, there is one thing which Make absolutely cannot handle, and that is file names with spaces . If you have any risk of encountering these without any possibility of renaming them, you’ll sadly have to give up on using Make; it just won’t work.
Make is useful and the concept is sound. However, the implementation is dated. Just off the top of my head, it could be object oriented (rules could be subclassed), the language could have more sophisticated statements, it could have debugging, etc
Re: The Language Agnostic, All-Purpose, Incredible, Makefile
#100As a facade, Make is great. Anything more, and it's not. You can express so much in Make, and so quickly; but the expression is horrible and basically confusing.