[phobos] Makefile

Lars Tandle Kyllingstad lars at kyllingen.net
Tue Mar 23 02:55:36 PDT 2010


I am experiencing some problems with the new makefile.


Firstly, the location of libdruntime.a is specified as

     DRUNTIME = $(DRUNTIME_PATH)/lib/libdruntime.a

while I believe it should be

     DRUNTIME = $(DRUNTIME_PATH)/libdruntime.a

Secondly, when I just enter 'make', DMD complains that it can't find 
object.d.  I have to run

     make -f GNUmakefile OS=posix BUILD=debug DFLAGS=-I../druntime/import

to make it work.  It seems DMD isn't receiving the druntime imports 
directory by default.


-Lars


Andrei Alexandrescu wrote:
> I finally found time to rewrite the makefile. It's now short, sweet and 
> easy to look at and modify.
> 
> The key is to use recursive invocations of make, each focused on one 
> build (a given OS and a given flavor). That way dependencies are easy to 
> set up without duplication. It took me a while to figure out how to do 
> that stuff... the result is quite simple.
> 
> I actually copied Walter's description below as the documentation. The 
> only differences are that I changed "doc" to "html" because some day we 
> might have other doc formats, and also that I do not remove the 
> successful unittests. This is because I don't want two successive 
> invocations of make unittest to redo all successful unittests before it 
> stops at the failing one.
> 
> I've only tested the Linux build, but I'm confident that the others need 
> only minor adjustments, and most importantly that it's not difficult to 
> figure how to make those adjustments. Let me know!
> 
> 
> Andrei
> 
> On 02/18/2010 01:32 PM, Walter Bright wrote:
>> make clean => removes all targets built by the makefile
>> make zip => creates a zip file of all the sources (not targets) referred
>> to by the makefile, including the makefile
>> make release => makes release build of the library (this is also the
>> default target)
>> make doc => makes html documentation
>> make debug => makes debug build of the library
>> make unittest => builds all unittests, runs them, deletes all built
>> unittest files upon successful completion
>> make install => copies library to /usr/lib
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos


More information about the phobos mailing list