17 ms·
Make is so simple that it can actually build you single file project without a makefile with less characters to type: make tool Et voilà.
by rixed 9y ago
Make is so simple that it can actually build you single file project without a makefile with less characters to type:
make tool
Et voilà.
- rlabrecque 9y agoErrr, I actually have to spend 5 minutes googling how to install make on Windows, then getting mingw and hating myself. So no, no it's really not that simple in general.
- to3m 9y agohttps://github.com/tom-seddon/b2/blob/master/snmake.exe https://github.com/tom-seddon/b2/blob/master/snmake.exe - standalone build of GNU Make 3.80. Has a couple of hacks in it to better support Windows-style paths with colons in it. I think this came from the SN Systems Playstation2 SDK. Thanks to the GPL, you can have it too. (I have no idea whether this will successfully run a C compiler for you on Windows, though. I mostly use it to run Makefiles with phony targets as a cross-platform replacement for shell scripts.)
- angelsl 9y agoOh no, Make 3.80... Why not build a more recent version? This thing is 15 years old!
- to3m 9y agoGood idea! Let me know when you’ve done it... I could do with an updated copy.
- kqr 9y agoThis sounds like something one should ask people who do not write portable makefiles, rather than porters of Make, which has been standardised for quite a while now.
- to3m 9y agoThey added some useful stuff in subsequent versions... my recollection (though this is going back a while now) is that even only 3.81 was a worthwhile upgrade over 3.80! However I have better things to do than try to figure out how to build GNUstuff myself on Windows.
- dTal 9y agoNot really fair to blame make for your daft OS.
- MaulingMonkey 9y ago1) A new dependency to install on every build server and dev's machine unless you're a 'nix only shop (e.g. not in gamedev) and sometimes even then (yes, I've had to apt-get install make) - at the very least this is a boatload of new setup/install instructions, in practice this also involves coordinating with IT, and heaven help you if you let your less programmery coworkers build from source too. 2) Which version of make? I have detailed instructions at work about which make to use with which makefiles such that all the stars align and the OS vars and other gnu tools line up such that our upstream Makefiles work without modifications (well, usually.) 3) Given the complexity of 2, what I'm actually going to do is automatically invoke make from whatever build system we're using internally. 4) Now that I have two sets of build configuration, I have a continual maintenance burden as conflicting dependencies and incompatible build settings need to be resolved. Since I deal with C++ libs and tools, sneezing too hard will cause incompatible libs. In practice, the Makefile will hardcode CCFLAGs, sometimes CC itself, and things like building with/without RTTI will cause incompatible libs I can't link without more Makefile tweaks. 5) When I get sufficiently fed up with the state of affairs in point 4, I'll integrate the tool into our own build system such that we have a single unified build system again and I don't have to make the same change in 5 places (our codebase + a measly 4 dependencies in this example.) At this point I'm no longer using make and wondering why I didn't just skip directly to step 5 in the first place. Make is simple - so simple it doesn't address my needs nor solve my problems.