News for hackers. Stuff that matters.
Re:Nuklear: A single-header ANSI C GUI library by rixed on Saturday February 10, 2018 @06:51PM (#16350323)
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à.

Re:Nuklear: A single-header ANSI C GUI library by rlabrecque on Saturday February 10, 2018 @09:45PM (#16350898)
Errr, 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.
Re:Nuklear: A single-header ANSI C GUI library by to3m on Saturday February 10, 2018 @10:38PM (#16351042)
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.)

Re:Nuklear: A single-header ANSI C GUI library by angelsl on Saturday February 10, 2018 @11:14PM (#16351141)
Oh no, Make 3.80...

Why not build a more recent version? This thing is 15 years old!

Re:Nuklear: A single-header ANSI C GUI library by kqr on Sunday February 11, 2018 @06:05AM (#16352178)
This 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.
Re:Nuklear: A single-header ANSI C GUI library by to3m on Sunday February 11, 2018 @06:08PM (#16355358)
They 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.

Re:Nuklear: A single-header ANSI C GUI library by to3m on Saturday February 10, 2018 @11:48PM (#16351253)
Good idea! Let me know when you’ve done it... I could do with an updated copy.
Re:Nuklear: A single-header ANSI C GUI library by dTal on Sunday February 11, 2018 @07:13AM (#16352360)
Not really fair to blame make for your daft OS.
Re:Nuklear: A single-header ANSI C GUI library by MaulingMonkey on Sunday February 11, 2018 @02:03PM (#16354159)
1) 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.