As a non-programer the only experience I have with makefiles are unpleasant ones of running ./configure then ./make only to go down an endless rabbit hole of missing dependencies. I am very grateful that yum/apt-get, etc. have come such a long way, they grab all your dependencies, you don't have to wait long periods of time for the code to compile. I am sure Make still has it's uses, but I am sure glad package manage…
This is not really a fair comparison though. Makefiles and package managers are orthogonal and the latter has not really replaced the former. Makefiles are like a recipe, package managers are food delivery. Somebody has still to cook the food.
The Makefile I use with JavaScript projects
41–50 of 525 posts
Re: The Makefile I use with JavaScript projects
#42Make's interface is horrible. Significant tabs. Syntax which relies on bizarre punctuation... If only whoever authored Make 40 years ago had had the design acumen of a Ken Thompson or a Dennis Ritchie! We're stuck with Make because of network effects. I wish that it could just become "lost" forever and a different dependency-based-programming build tool could replace it... but that's just wishful thinking. The pace o…
Make is such a horrifically awful thing to work with that I just end up using a regular scripting language for building. Why learn another language with all its eccentricities and footguns when I already know several others?
Re: The Makefile I use with JavaScript projects
#43Make's interface is horrible. Significant tabs. Syntax which relies on bizarre punctuation... If only whoever authored Make 40 years ago had had the design acumen of a Ken Thompson or a Dennis Ritchie! We're stuck with Make because of network effects. I wish that it could just become "lost" forever and a different dependency-based-programming build tool could replace it... but that's just wishful thinking. The pace o…
It's not like C is famous for having particularly good syntax. If anything, it's the worst thing about it.
Plus, to me C syntax is particularly good. You're writing real words and the computers does the things you tell it to. To the letter.
Re: The Makefile I use with JavaScript projects
#44Re: The Makefile I use with JavaScript projects
#45CMake is so nice compared to vanilla makefiles. I wonder if it can be used this way with Javascript.
What would you gain if you're using it for other, less supported languages, like Javascript?
Re: The Makefile I use with JavaScript projects
#46Anyone here uses makefiles for anything other than compilation and build? One can use it to add some level of concurrency to shell scripts.
Re: The Makefile I use with JavaScript projects
#47Wish this article was about just make rather than JavaScript and using it in tandem
Re: The Makefile I use with JavaScript projects
#48CMake is so nice compared to vanilla makefiles. I wonder if it can be used this way with Javascript.
Re: The Makefile I use with JavaScript projects
#49Earlier quoted context omitted.
Make is such a horrifically awful thing to work with that I just end up using a regular scripting language for building. Why learn another language with all its eccentricities and footguns when I already know several others?
Another advantage of using a scripting language is that the hard work of portability will already have been done for you by the authors of the scripting language. Make, in contrast, works within a shell and invokes programs which may be either wildly or subtly incompatible across platforms. Add in the lacking support for conditionals in POSIX make and portability is a nightmare.
(I am aware that this advice does not hold true in all cases; just that for many of them overly complicated build systems is a code smell.)
Re: The Makefile I use with JavaScript projects
#50Earlier quoted context omitted.
Make is such a horrifically awful thing to work with that I just end up using a regular scripting language for building. Why learn another language with all its eccentricities and footguns when I already know several others?
because then people new to your project can see a makefile and know that “make” and “make test” and “make install” probably work without having to learn your homebrew, one-off build system.