On Jul 27, 2010, at 11:14 AM, Walter Bright wrote: > Andrei Alexandrescu wrote: >> Hey folks, >> >> >> I was building Phobos on OSX when I ran into a makefile bug that I'd fixed >> in linux.mak. It was still present in osx.mak. I noticed the files are >> virtually identical, so why not merge them? >> >> Since the one thing that linux.mak and osx.mak have in common is the fact >> that they're understood by gnu make (as opposed to win32.mak which is used >> by Walter's own make utility), I'm thinking the new makefile should be >> called GNUMakefile. That name is actually understood by gmake which means no >> more -f. >> >> I'm operating this change and will check in soon, please let me know if you >> foresee any issues. >> > > I prefer to keep them separate because: > > 1. It's very simple for the user to tell which makefile is for what system. > With win32.mak and GNUmakefile it's wtf? > 2. While they may be the same now, in the future they may be fairly different. > 3. I like to drive make with my own makefile which then sets some macros and > calls -flinux.mak, which would make it difficult to have a makefile that is > the default name > 4. It's *not* a burden to have two makefiles for different platforms. I think > it's convenient and self-documenting to have a 1:1 correspondence between > platforms and makefiles. > 5. I like being able to futz with one without risk of breaking all the other > platforms that I didn't test it on. > 6. I find differences in gnu make from system to system, for example, FreeBSD > has a much more primitive implementation on it.
druntime has only 2 makefiles though: win32.mak and posix.mak, and I don't think it's ever confused anyone. Why maintain multiple identical makefiles? I do like being able to specify the makefile via -f though. Some initial testing of tool parameter support is required, but once that's sorted out, further maintenance shouldn't be an issue. _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
