30+ years of tech, retired from an identity intelligence company, now part-time with an insurance broker.
Dev community mod - mostly light gardening & weeding out spam :)
I'm officially a Luddite and still use GNU/make for most of my little experiments, and even some quite big ones. It does the thing a build tool is supposed to do - reduce cycle time by taking the minimum number of actions required to bring the outputs up to date - and it does it well.
I've used a few opinionated, language-focussed tools like Maven, Ant, Cargo, etc. Finding that they are effective for their little world, but painful outside - this may be a conscious decision of the creators to lock you in... I'm not a fan of learning Yet Another Build DSL (YABDSL?) like pom.xml syntax either.
I'm not so sure about meta-build tools (CMake, SCONS, Autotools, etc.), they frequently seem to be to abstract / genericised and frankly weird to bother learning, certainly they are a nightmare to debug!
Thanks for sharing.
I have used make mostly for Golang projects.
But Go already ships with a full fledged build tool, so it is fair to say that for Golang builds, make it is just a tiny wrapper.
I haven't used it for anything else because language specific build tools (like the ones you mentioned) also ship with dependency management systems, which is super convenient.
I understand you used make for Java. What did you use as dependency manager? Apache Ivy?
Can I ask you to share a project in which you did that? :)
30+ years of tech, retired from an identity intelligence company, now part-time with an insurance broker.
Dev community mod - mostly light gardening & weeding out spam :)
but no dependency manager there, all three deps simply get a mention in the Makefile. That was a number of years ago, these days I would probably use Git submodules (I probably still should for that project!)
It's NOT just me?!?! Google sent me here when I asked for a multi-language build. I'm using Makefiles now, and suspected there was something more. Bazel is the front-runner, of course, but... Idk... Make has got me pretty far.
I mean, everything ships with a build system - just need to coordinate the triggers across packages, and maybe slide in some variables here and there.
Well, make does THAT.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I'm officially a Luddite and still use GNU/make for most of my little experiments, and even some quite big ones. It does the thing a build tool is supposed to do - reduce cycle time by taking the minimum number of actions required to bring the outputs up to date - and it does it well.
I've used a few opinionated, language-focussed tools like Maven, Ant, Cargo, etc. Finding that they are effective for their little world, but painful outside - this may be a conscious decision of the creators to lock you in... I'm not a fan of learning Yet Another Build DSL (YABDSL?) like pom.xml syntax either.
I'm not so sure about meta-build tools (CMake, SCONS, Autotools, etc.), they frequently seem to be to abstract / genericised and frankly weird to bother learning, certainly they are a nightmare to debug!
Thanks for sharing.
I have used make mostly for Golang projects.
But Go already ships with a full fledged build tool, so it is fair to say that for Golang builds, make it is just a tiny wrapper.
I haven't used it for anything else because language specific build tools (like the ones you mentioned) also ship with dependency management systems, which is super convenient.
I understand you used make for Java. What did you use as dependency manager? Apache Ivy?
Can I ask you to share a project in which you did that? :)
I have used make with Java: github.com/phlash/java-sdr/
but no dependency manager there, all three deps simply get a mention in the Makefile. That was a number of years ago, these days I would probably use Git submodules (I probably still should for that project!)
Thank you :)
It's NOT just me?!?! Google sent me here when I asked for a multi-language build. I'm using Makefiles now, and suspected there was something more. Bazel is the front-runner, of course, but... Idk... Make has got me pretty far.
I mean, everything ships with a build system - just need to coordinate the triggers across packages, and maybe slide in some variables here and there.
Well, make does THAT.