6 ms·
I like nothing more than dropping into a new project, and, rather than figuring out the commands to make it run, see that it has a Makefile with a handful of ta
by kemenaran 5y ago
I like nothing more than dropping into a new project, and, rather than figuring out the commands to make it run, see that it has a Makefile with a handful of targets for common tasks.
With some collegues we wrote an article about the benefits of this approach a few years ago: https://blog.capitaines.fr/2016/09/30/standardizing-interfaces-across-projects-with-makefiles/ https://blog.capitaines.fr/2016/09/30/standardizing-interfac...
- andreineculau 5y agoI have never bumped into that article before, thanks for that. I did implement though that uniform interface in https://github.com/ysoftwareab/yplatform https://github.com/ysoftwareab/yplatform
- pletnes 5y agoI could not agree more. However most people are on windows for which obtaining gnu make is painful, or maybe even impossible - at least the path handling has many sharp edges.
- tom_ 5y agoYou can put a copy of make in the repo.
- deleted 5y ago[deleted]
- matt123456789 5y agoFor added stability, make sure it’s statically compiled (which it might be already...)
- tom_ 5y agoI've been using GNU Make 4.2.1 from here: https://github.com/mbuilov/gnumake-windows https://github.com/mbuilov/gnumake-windows - depends only on kernel32.dll. I assume the latest 4.3 build there is the same.
- kernelsanderz 5y agoI’m wondering if you could compile make to wasm and include it as a cross platform dev dependency?
- leephillips 5y agoAre most people who would have a use for a tool like Make on Windows?
- pletnes 5y agoWell, most developers I work with benefit from a task runner. Now, we use different runners for different repos. I’d prefer being able to go into a repo and do «make test» and have it work, regardless of language, framework, purpose of the repo.
- kemenaran 5y agoIndeed – although I guess WSL made unix tools slightly easier to use nowadays. But even without executing the Makefile, simply reading it can tell new developers which language-specific command needs to be run to build the project (and then the command can be copy-pasted and run manually).
- pletnes 5y agoWSL made running a linux VM less hassle.
- jokethrowaway 5y agoI don't comprehend how people can develop on windows (without linux subsystem). I have to do that every once and then (to ship the occasional C++ or Rust build on Windows) and it's the stuff of nightmare. Stuff breaking randomly from one day to another, env variables to be set in weird ways, GUI installers, 8 different versions of mingw or similar. Recently I've seen that there are a few package managers now (I used chocolatey and at least 2 others just trying to get something to compile) but still, compiling something trivial is always an adventure. Mac OS X is kind of okay. Brew is barely decent and things mostly work (unless you discover you need to install 12GB of XCode for some dependency or your script is expecting coreutils instead of bsd). Every linux distro comes with a package manager and compiling is trivial
- Ygg2 5y ago> I don't comprehend how people can develop on windows They want to distribute their app on Windows?
- y4mi 5y agoIt's usually not by choice. Medium to large enterprises often demand this so they can manage the employee hardware.
- JohnHaugeland 5y agoIt depends a huge amount on the language and toolchain. MSVS is really quite nice.
- wwalexander 5y ago
- arwineap 5y agoIf you show up to the job with a windows box I expect you to know how to do the job in windows It's the same problem with docker-compose files; how do you expect the developers not running in windows to fix your windows problems?
- mekster 5y agoThank god WSL is around. Otherwise I would've given up on supporting Windows environment for those who still stick to Windows.
- cagey 5y agoIf you're already using the Chocolatey package manager for Windows (I do, and am mostly happy with it), it offers GNU make: https://community.chocolatey.org/packages/make https://community.chocolatey.org/packages/make
- ptrvldz 5y agoAnd it still holds true for development today! Really any organization that has multiple languages should consider making their devs lives easier with Make. And of course, it plays great with Docker & Compose, here's a write-up we did on using Make with container tooling: https://shipyard.build/blog/makefiles-for-modern-development/ https://shipyard.build/blog/makefiles-for-modern-development...