Make-depend still broken in ROOT 2.22.09

From: Matthew D. Langston (langston@SLAC.stanford.edu)
Date: Wed Jul 14 1999 - 17:34:44 MEST


Make-depend is still broken in ROOT 2.22.09.  This will only bite you if
you try to compile ROOT from source.  The following perl snippet will
fix this:

  $ cd $ROOTSYS/src
  $ perl -i.orig -p -e 's{(?:/|\$ROOTSYS)[^\s]+}{};s{^[^:]+:\s*$}{}' Make-depend

If by some chance you don't have Perl on your system, but you have
"sed", then the Perl command can be replaced with the following two
lines:

  $ cd $ROOTSYS/src
  $ mv Make-depend Make-depend.orig
  $ sed -e 's/\$ROOTSYS//' -e 's/\/[^ 	][^ 	]*//' -e '/^[^:][^:]*:[ 	]$/d' Make-depend.orig > Make-depend

NOTE: In the sed command above, the last two characters within the 1st,
      2nd and 5th square brackets are a SPACE followed by a TAB.  Some
      broken MTUs translate TAB incorrectly, so you may need to add the
      TAB characters back in by hand.

I would like to reiterate that the ROOT Makefiles should probably not
have Makefile header dependencies on external packages (see
http://root.cern.ch/root/roottalk/roottalk99/1488.html).  This will only
get in the way of the general ROOT user.

ROOT Developers, on the other hand, will obviously want these
dependencies, but this can be taken care of by a simple Makefile rule
provided for just this purpose.

The Make-depend file is a valuable courtesy to the general ROOT user,
and having it work consistently on multiple platforms can only be
guaranteed if the Makefile header dependencies are limited to those
files which the ROOT packager has direct control over, namely the ROOT
package itself.

--
Matthew D. Langston
SLD, Stanford Linear Accelerator Center
langston@SLAC.Stanford.EDU



This archive was generated by hypermail 2b29 : Tue Jan 04 2000 - 00:43:35 MET