Re: make dependencies not working for me...

Here's an exchange about this on the automake mailing list. 

Keywords: 200501280715.j0S7Fhv2019221
Cc: Ed Hartnett <ed@xxxxxxxxxxxxxxxx>, Automake List <automake@xxxxxxx>
Organization: Department of Numerical Simulation, University of Bonn
Mail-Followup-To: Ralf Corsepius <rc040203@xxxxxxxxxx>, Ed Hartnett 
<ed@xxxxxxxxxxxxxxxx>, Automake List <automake@xxxxxxx>

Hi Ed, Ralf,

* Ralf Corsepius wrote on Fri, Jan 28, 2005 at 07:39:48AM CET:
> On Thu, 2005-01-27 at 09:42 -0700, Ed Hartnett wrote:
> > Howdy all!
> > 
> > I'm a developer working on netCDF, a freeware library for climate and
> > Earth scientists. Recently I converted from our old time-honored and
> > hand-crafted Makefiles to automake generated files. 
> > 
> > But for some reason, using the automake generated files, dependency
> > tracking no longer works. For example, if I do a make check, and find
> > and fix a bug in one of my code files, and do a make check again, I
> > get an error like this:
> > 
> > bash-3.00$ make check
> > Making check in libsrc
> > make[1]: Entering directory `/home/ed/n3_tmp1/libsrc'
> > m4 -B10000 attr.m4 >attr.c
> > if h5cc -DHAVE_CONFIG_H -I. -I. -I.   -Df2cFortran  -g -MT attr.o -MD -MP 
> > -MF ".deps/attr.Tpo" -c -o attr.o attr.c; \
> ^^^^^^^^
> Note this. What is h5cc?

Search for it -- it's a compiler wrapper script. :)

> At this place the compiler is supposed to be called.
> 
> > then mv -f ".deps/attr.Tpo" ".deps/attr.Po"; else rm -f ".deps/attr.Tpo"; 
> > exit 1; fi
> > cc1: error: to generate dependencies you must specify either -M or -MM
> This indicates that "h5cc" isn't able to cope with the rules being
> generated by automake.

Yep.  Most likely (I haven't looked at it) the script messes up
command line arguments in a way the Automake depcomp script does not yet
detect.

Actually, I'd bet on this (having found bugs in such scripts before).

Ed, what you can do to debug this:
- look at the output of configure (messages plus config.log) around
  `checking dependency style of..'
- invoke your script with debug options (`set -x' if it's a shell
  script) to see where it messes up
- post a location where one can download and have a look at the script

Regards,
Ralf



-- 
Ed Hartnett  -- ed@xxxxxxxxxxxxxxxx