Brad King wrote: >Most make implementations will not re-read dependencies from makefiles >once building has started (GNU make does in some cases, but other UNIX >makes, NMake, Borland Make, etc. do not). If a source file in target B >is generated by the executable target A then B cannot build even up to >the link step before A is completed. Once the file is generated then it >needs to be included in a dependency scan step. A flat make would not >read the resulting dependencies. > >I agree that some object files could be built and the link step skipped, >but encoding this into make would require ANOTHER recursive make per >target (one to build object files and one to link). We may eventually >do this anyway to avoid parallel linking but that is a separate problem.
I understand. The problem of having to workaround the shortcomings and limitations of other people's implementations is something we end up getting used to. And maybe we shouldn't: we should try to get the best from other software too. (This was a philosophical discussion) >As Stephan said, achieving these more advanced analyses of what can >really build requires a better make implementation. An unsermake >generator is not too far fetched, but it will have to wait at least >until after the 2.4 CMake release. We can possibly help there once KDE 4 is out. For the moment, it's not necessary. Even without the flat build and starting compilation of the next target's sources while the current one hasn't finished linking (which means the compile farm starves for a while), cmake building of kdelibs is faster than the equivalent unsermake build. And the reason is the getting rid of libtool. -- Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org thiago.macieira (AT) trolltech.com Trolltech AS GPG: 0x6EF45358 | Sandakerveien 116, E067 918B B660 DBD1 105C | NO-0402 966C 33F5 F005 6EF4 5358 | Oslo, Norway
pgpJy0c2EQqNX.pgp
Description: PGP signature
_______________________________________________ Kde-buildsystem mailing list Kde-buildsystem@kde.org https://mail.kde.org/mailman/listinfo/kde-buildsystem