Hello,
> > > cgdb.1: $(top_srcdir)/cgdb/src/usage.c $(top_srcdir)/configure.in
> > > $(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/cgdb/src cgdb$(EXEEXT)
>
> `make -C' is not totally portable; [...]
sorry, thank you for catching this. But the following is not true:
> If you instead ever go to use a nonrecursive Makefile structure, you
> could just add `../cgdb/src/cgdb$(EXEEXT)' to the prerequisites of this
> rule. Much nicer. ;-)
Recall that cgdb.1 was listed in dist_man_MANS, so the file is distributed.
A disctributed file may not depend on a built one. Thusly, you have to
list the distributed sources as the prerequisities and call $(MAKE) in the
associated commands to ensure that the built files are up-to-date (the
executable in this case).
So even in the non-recursive makefile you'd have
cgdb.1: cgdb/src/usage.c configure.ac
$(MAKE) $(AM_MAKEFLAGS)cgdb/src/cgdb$(EXEEXT)
help2man ...
See http://sourceware.org/automake/automake.html#distcleancheck
Have a nice day,
Stepan