Hacker News new | ask | show | jobs
by ruskimalooski 3198 days ago
I've seen many articles lately about using Make for NodeJS, Go, and other modern languages. I really do not understand it. Lots of these languages (Go and NodeJS) were designed to be cross-platform or at least easily compiled on different OS's.

Why use a platform specific tool and restrict yourself to Linux? I'd prefer people find a similar tool that is designed to work on any platform.

6 comments

The “restrict yourself to Linux” bit seems very odd to me: make is one of the most portable build tools in existence. Even 20 years ago it was common to have makefiles which worked on a dozen Unix variants (not just *BSD & Linux), Windows, OS/2, VMS, BeOS, etc. and it’s gotten easier over time rather than harder.

Were you perhaps referring to platform-specific tools called by a Makefile?

Huh? I use make all the time on Windows. You don't even need Cygwin, MSYS, or Windows Subsystem for Linux. There are make binaries that work well, for example:

http://gnuwin32.sourceforge.net/packages/make.htm

What do u use for all the shell scripting and commands that usually go along with make
> Why use a platform specific tool and restrict yourself to Linux?

Make predates Linux by 15 years. It's not platform specific (indeed it is part of POSIX), and it is most certainly not restricted to linux.

I was using make on MS-DOS 2.1 way back in 1987. It's just not for Unix anymore.
That doesn't really matter, make is just a tool for your development environment, your code will be able to run on multiple architectures (which is what matters).
It works on OS X too. Linux plus OS X accounts for a lot of developers, though Windows probably still has the majority (but Windows is getting a Linux subsystem too!)
There are versions of gnu make that run on windows.