Screw makefiles. dub[1] is the way to go. Dead easy to configure [2] and dead easy to use. A default debug build on the command line is "dub build", or even just "dub".[1] http://code.dlang.org/packages/dub [2] http://code.dlang.org/package-format
dub + Geany is my combination of choice. Great for cross platform - I'm using the same source tree to build across Windows, Linux and FreeBSD.