Hello, "gölgeliyele" <usul...@gmail.com> wrote in message news:9f28e8ed-939d-4edb-ab1f-0a4f9b72da44%usul...@gmail.com... >> >> I use an incremental build with Makefiles. >> > Can you tell me how you used incremental build with Makefiles? I > don't know much about D1, but it most likely has similar module and > build support as D2. I have been playing around with incremental build > with dmd today (I couldn't find good info on the web). My solution was > to use a makefile as well, but it required some advanced techniques, > such as: > > - dmd compiler's -deps option to find out what are the dependencies of > a module, which required simple post processing
Yes, you have to build a dependency list for each .d file. I use an Awk script, but I should probably use dmd -deps... > - GNU make's auto-dependency generation capabilities (mostly the > ability to generate dependency stuff during make and at the same time > include them into the makefile) Yes, I am also using some tricks I found on the web to support building outside of the source tree. I currently have all the dependendcies in one file, and regenerate manually. I have gotten auto-dependency generation to work with C++ (it is just a matter of breaking the dependencies into separate files). > I have too worries about this: > 1) Requires experience with make and DMD, not easily gained through > reading documentation > 2) GNU make is not easily available on all platforms I use Cygwin on Windows. Make is somewhat hard to learn at first. Once you have some tricks, you can apply them to all projects. > If you have a solution that is more straightforward please let me > know. > > Also: How much time it takes for you to do a wholesale compilation > versus incremental (say after changing a single file)? I find file I/O to be very slow on Windows. Cygwin seems to compound this problem. Build time on my project isn't real bad, maybe a few seconds for one or two files. A full rebuild might take a minute (I seem to have broken my build, so I can't test it right now :) Ned