[Halld-offline] modification of dependency file generation by makefiles

Mark M. Ito marki at jlab.org
Fri Dec 18 09:16:03 EST 2009


Folks,

I just checked in modifications to the makefiles in src/BMS that change 
the way dependency files are generated. Things are not much different, 
the dependency files themselves and their location has not changed. The 
"trigger mechanism" for making them and some internal make rules have 
been modified. Most notably, this should fix a problem where the 
dependency files were not getting remade when the source file (*.cc, 
*.c, *.F) was modified. Also this should eliminate some of the scenarios 
where the .depends directory had to be deleted for a re-make to succeed.

One "feature" of the new scheme is that you will now see error messages 
that contain text like

  .depends/Linux_RHEL5-i686-gcc4.1.2/DFCALCluster.d: No such file or 
directory

This is normal and will occur whenever a dependency file (note that it 
will be a *.d file that is mentioned) does not pre-exist. This does not 
stop the make. It simply indicates that a new dependency file must be 
created. More specifically, GNU make will try to make included makefiles 
if it can't find them; at that point it generates the message.

If you see problems, please let me know.

Find below the comment from the subversion check-in.

  -- Mark
*
Rev:* 5868
*Last modification:* Rev 5868 - marki - 2009-12-18 13:44:56 GMT
*Log message:*
This is a modification of the depends scheme which is triggered
exclusively by the include of the dependency file(s). Fixes problem
where dependency files was not remade after source file
modification. Also allows dependency file generation when dependency
directory exists, but dependency file does not.

Merge branches/src/BMS-depends-by-include onto trunk.
Command was:
svn merge $HDSVN/branches/src/BMS-depends-by-include at 5856 
<mailto:BMS-depends-by-include at 5856> 
$HDSVN/branches/src/BMS-depends-by-include
from directory with current working version.

M Makefile.lib
M Makefile.bin
M Makefile.common
M Makefile.shlib



More information about the Halld-offline mailing list