3 ms·
What computers don't have access to GNU make? I don't see why you would give up all those extra features in order to be a tiny bit more portable.
by pubby 12y ago
What computers don't have access to GNU make? I don't see why you would give up all those extra features in order to be a tiny bit more portable.
- legulere 12y agoThe BSDs don't use GNU make (OS X interestingly does). You can also install other build systems, the advantage with posix make is that you don't have to on unix systems.
- jethro_tell 12y agoDoesn't BSD make also have it's own features that are not portable?
- swhipple 12y agoGNU make isn't part of the base system for the BSDs, but I've found that it is often installed on BSD systems anyways (as gmake), due to much software having a build dependency by using Makefiles with GNUisms. If your project is targeting a generic POSIX environment with build tools available and you want the portability, I can see why you might go with the lowest common denominator. For a lot of projects though, there are additional non-base dependencies (e.g. a python interpreter), and having a build dependency on GNU make is usually acceptable if you're using the extra features (e.g. % matching is a big convenience).
- e12e 12y agoConversely on a GNU system (like Debian GNU/Linux) you need to explicitly install BSD make... and on the *BSDs you have GNU in ports, and on windows you have it via MSYS/whatnot and on Solaris... etc. I suppose you don't have either on Android/CromeOS -- but the generally lack build tools anyway, as does iOS.
- mhd 12y agoReminds me of the days when we really needed to support old versions of AIX and HP-UX 9.x… So I guess in addition to not using GNU make, you'll have to be careful about your compiler supporting ANSI C, too.
- legulere 12y agoC99 support is part of current versions of posix.