bug-automake
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: am--refresh target assumed to be provided by top-level Makefile is n


From: Ralf Wildenhues
Subject: Re: am--refresh target assumed to be provided by top-level Makefile is not documented
Date: Wed, 3 Jun 2009 19:19:38 +0200
User-agent: Mutt/1.5.18 (2008-05-17)

Hello Samuel,

thanks for the report.

* Samuel Bronson wrote on Wed, May 27, 2009 at 07:47:56PM CEST:
> Hi. I've noticed that when trying to build gdb from git with
> --enable-maintainer-mode, I get this error:
> 
> make[4]: Entering directory `/home/naesten/hacking/archer/build/gdb/gnulib'
> cd .. && make  am--refresh
> make[5]: Entering directory `/home/naesten/hacking/archer/build/gdb'
> make[5]: *** No rule to make target `am--refresh'.  Stop.
> make[5]: Leaving directory `/home/naesten/hacking/archer/build/gdb'
> make[4]: *** [../../../gdb/configure] Error 2

Yeah, I've noticed this too, but haven't gotten around to fixing gdb.
I'll be working on patches for updating autoconf and automake in GCC and
src, gdb soonish anyway, guess I'll look at that then, too.

> It seems that automake assumes that the top-level Makefile for a
> project (that is, the one that sits next to the configure script --
> generated from gdb/Makefile.in in this case) will provide an
> "am--refresh" target, which no doubt it would if the top-level
> Makefile.in was generated by automake. However, I could find nothing
> in the automake documentation about either am--refresh or needing to
> have the top-level Makefile.in generated by automake, and Tom Tromey
> said he wasn't aware of any such requirement either.

Well, I don't think it was thought of that the toplevel Makefile.in
would be generated manually but subdir ones with automake.  Anyway,
here's the relevant comment from automake/lib/am/configure.am:

  ## This dummy rule is called from subdirectories whenever one of the
  ## top-level Makefile's dependencies must be updated.  It does not
  ## need to depend on %MAKEFILE% because GNU make will always make sure
  ## %MAKEFILE% is updated before considering the am--refresh target.
  if %?TOPDIR_P%
  .PHONY: am--refresh
  am--refresh:
          @:
  endif %?TOPDIR_P%


> What exactly does automake expect from this am--refresh target, so I
> can write one to keep it happy without having to use automake to
> generate gdb/Makefile.in ?

It is required that you have regeneration rules for aclocal.m4,
configure, and an eventual config.h in the toplevel, including proper
dependencies.  The call to aclocal needs to use the appropriate `-I
gnulib/m4' option in order to work, and aclocal.m4 needs to depend upon
the included macro files.

> Also ... why doesn't the output of "automake --version" list the
> current automake maintainer, if Tom Tromey doesn't maintain it
> anymore?

Yeah, I should probably amend that, but I'm not very eager to put my
email address there.  Too many users contact me off-list.  They should
just use the mailing list pointed to by --help.  Besides, it says
"written by" there, not "maintained by".  If Tom doesn't want his name
there, then he should say so, or make a patch.

Cheers,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]