<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.6603.0">
<TITLE>Problem with dependencies</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<P><FONT COLOR="#0000FF" SIZE=4 FACE="Palatino Linotype">I am having an issue with getting the build order straight for a couple of libraries I am using. It may not be the smartest approach in the world, but I have a couple of class libraries hanging under my source tree (eg, [prjRoot]/src/bar). As part of the build rule for my libraries, they install themselves to [prjRoot]/lib and their header files to [prjRoot]/include/[libName]/ (where libName would be bar in this case). I have a global cc flag option of -I[prjRoot]/include to point my other files there (they do something like #include <bar/bar.hpp>).</FONT></P>
<P><FONT COLOR="#0000FF" SIZE=4 FACE="Palatino Linotype">The problem is that when I first do a cook on a clean source tree it builds the hpp_dep files. Since the libraries are built after that the hpp_dep files don't point to the right include file - in fact they ignore my [prjRoot]/include. That seems logical since that directory doesn't hold the includes until after the libraries are built. But it means that cook doesn't recognize that the files actually do depend on these new header files.</FONT></P>
<P><FONT COLOR="#0000FF" SIZE=4 FACE="Palatino Linotype">My workaround is to specifically make the libraries first (cook lib/libbar.a etc). The library and includes are installed. I then do a recursive delete of all of my hpp_dep files. When they're recreated they point to the right include file and everything builds properly.</FONT></P>
<P><FONT COLOR="#0000FF" SIZE=4 FACE="Palatino Linotype">I don't update the libraries too often or run cook clobber very often either. It's just that everytime I do I forget to do the workaround. That's something I don't think anyone can help me with :)</FONT></P>
<P><FONT COLOR="#0000FF" SIZE=4 FACE="Palatino Linotype">I guess that what I'm trying to figure out is if there is a way to build the libraries first then automatically rebuild all of the hpp_dep files so they'll pick up the dependency. I think that the first half of that question is as simple as adding in [all_libraries] as a dependency in my [prjRoot]/bin/%: rule. Can anyone point me to where in the manual I can start to track down the answer to the second part?</FONT></P>
<P><FONT COLOR="#0000FF" SIZE=4 FACE="Palatino Linotype">Thanks,</FONT>
<BR><FONT COLOR="#0000FF" SIZE=4 FACE="Palatino Linotype">Mike</FONT>
</P>
<P><FONT COLOR="#0000FF" SIZE=1 FACE="Palatino Linotype">.i le temci cu denpa no lo prenu</FONT>
<BR> <FONT COLOR="#0000FF" SIZE=1 FACE="Palatino Linotype">- Jessica Shewell Brockway</FONT>
</P>
</BODY>
</HTML>