4 ms·
18yo JS/Ruby/Go dev here. `make` is certainly known to us; it's just that platform-specific build systems (`mage` for Go, `rake` for Ruby, `gulp` for JS etc.) a
by pojntfx 7y ago
18yo JS/Ruby/Go dev here. `make` is certainly known to us; it's just that platform-specific build systems (`mage` for Go, `rake` for Ruby, `gulp` for JS etc.) are simply more sane to set up per languages than using `make` for all languages and allows for efficient code reuse.
- celticmusic 7y agoYou have make call the platform specific build systems.
- Spivak 7y agoWhat's the point in a project that only uses a single build system? You're essentially getting nothing out of make except indirection. Might as well just have a build.sh at the root of the repo.
- frenchyatwork 7y ago> You're essentially getting nothing out of make except indirection The thing you're getting is some familiarity, I think (because of the indirection). It's sort of like using a `package.json` for the scripts section, but you get to have comments, and there's less other random stuff in there. I definitely understand why many would think this is over-kill though. A proper readme is probably just as good/better.
- celticmusic 7y agofamiliarity, documenting the process for building, and last but not least, access to the entire unix toolchain.
- pojntfx 7y agoI have done so in the past. This leads to a lot of duplication though.
- asdasdasdasdwd 7y agoI use it mostly so when I come back to the project after months, the Makefile is a reminder of how to build it. Also autocompletion.
- maple3142 7y agoWouldn't it just be like a build.sh? And makefile is not cross platform enough, especially on Windows.
- celticmusic 7y agoI can't speak to the others, but if you've installed rubygems on Windows, you've installed mingW, and you have access to those tools. This is because rubygems will not build source gems against microsofts toolchain, but against the gcc toolchain ala mingW. If you prefer using Powershell on Windows, great (or bat if you're a masochist). The point was that being in Ruby doesn't automatically invalidate the use of make as a build tool.
- maple3142 7y agoYeah, maybe it is true for Ruby development on Windows, but not for others, says Node.js. Developing Node.js on Windows is (comparatively) easy to do so, usually you only need to install `node` and `npm`, then optionally install `yarn` and `windows-build-tools`. None of these steps will give you GNU toolchain, so it won't available until you install it. That is ehy I prefer OS-agnostic tools such as npm or npm+gulp for more complex build tools.
- celticmusic 7y agomake IS an OS-agnostic tool, it's just not available by default on Windows. But it can absolutely be installed. Or you can bring the mingW/ binaries along with you. Even something as simple as installing git for windows will give you access to a decentish unix environment. staying inside rake, et al is fine if your software is simple enough to get away with it (by simple I mean self-contained without too many moving parts). But quite often you can't get away with that, and make becomes a good choice. I would also argue that if you're developing ruby on windows you're doing it wrong. You can do it, but I would personally never target Windows for a ruby app. been there, done that, have the scars to prove it. I would also add that installing all of that for node doesn't really seem to be simpler than using make, but that's just my old timer sensibilities coming into play.