[phobos] linux.mak + osx.mak = GNUMakefile

Lars Tandle Kyllingstad lars at kyllingen.net
Wed Jul 28 11:36:35 PDT 2010


On Tue, 2010-07-27 at 20:56 +0200, Don Clugston wrote:
> On 27 July 2010 20:24, Andrei Alexandrescu <andrei at erdani.com> wrote:
> > 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?
> >
> > It's "Oh, for gnu make I use GNUMakefile".
> >
> >> 2. While they may be the same now, in the future they may be fairly
> >> different.
> >
> > I prefer to keep things factored together. Again, I am motivated by the
> > heavy current duplication and the fact that I fix bugs in one makefile and
> > then encounter them in the second.
> >
> > By the way, I compel you to start using cygwin and gmake on Windows so we
> > can unify the three. We should revisit the "I tried cygwin and I don't
> > remember why it didn't work well" status.
> 
> Requiring cygwin on Windows would reduce the number of potential
> contributors on Windows by 90%.
> I reckon we should eventually aim for:
> > rdmd druntime
> > rdmd phobos
> In the long term, I can't see any reason for using make at all.


As an experiment, I recently wrote a D build script for SciD, and I have
to say I will probably never write a makefile again in my life.  Phobos
has some high-level stuff that made it a quite enjoyable experience --
std.file.dirEntries and std.zip.ZipArchive, just to mention a few.

-Lars



More information about the phobos mailing list