On 13 Dec 2012, at 14:22, Ivan Vučica wrote: > If my vote counts (and it doesn't have to, and this isn't a democracy, et > cetera, et cetera), I'd say "Makefiles are still the most portable thing > around". At least a basic Makefile that doesn't require cmake would be > awesome.
Unfortunately, that isn't true. One of the current build systems is a portable Makefile, however it restricts itself to the portable stuff in Make (and therefore works with BSD and GNU make, and at least used to work with Solaris Make, although I've not tested it for a while), and so can't use inclusions or conditionals. Because it can't use conditionals, it can't optionally provide flags that are required on some platforms and not others. It is also restricted to only being able to build the runtime in a single configuration. It is also slow and takes about twice as long to compile as the Makefiles generated from CMake (for this project, ninja is about the same speed as make, because it doesn't have any recursive make invocations, but it does maintain a more accurate dependency graph, so I still prefer it). While I am a huge fan of both minimal dependencies and portable build systems, these are at odds. The POSIX standard for make doesn't provide enough functionality. The entire reason that CMake exists is that Makefiles are not easy to do in a portable way. David -- Sent from my Apple II _______________________________________________ Gnustep-dev mailing list [email protected] https://lists.gnu.org/mailman/listinfo/gnustep-dev
