On 2003-09-04 at 12:24:00 [+0200], Waldemar Kornewald wrote: > > That is interesting: > > > > jam libkernelppp.a > > > > works fine, but: > > > > jam > > > > does not link the library. Does jam think that libkernelppp.a is already > > up-to-date? > > Maybe jam does not link the library because nothing depends on it. > I do not know how jam handles such cases, but it could be a solution. Usually everything built with a standard rule is made a dependency of one of the pseudo targets `files', `lib', `obj', `exe', which in turn are dependencies of `all', the target made when none is supplied on the command line. For some reason probably only the writer of the Library rule knows the `lib' dependency is not established for static libs when the KEEPOBJS feature is enabled. > Then I have another question: > Why is that library put into the objects folder instead of the > distro/......./system/lib folder? The R5KernelStaticLibrary rule isn't intended to build libraries to be shipped with our system (hence the `R5' :-), so the distro tree isn't the right target location for those libs. Currently the rules aren't used consistently, though (e.g. StaticLibrary, which generates `distro' libs is also used for temporary ones) -- quite a bunch of cleanup is required. This and other things have a good chance to be done, after jam 2.5 is final. > How do I link against libkernelppp.a in jam? I want to create the > ppp_manager module. Just add `libkernelppp.a' to the LinkSharedOSLibs for the ppp_manager. Jam will find the library whereever it is located (even if you move the sources to some better location (hint, hint ;-)). CU, Ingo