Hello everyone,

the recent round of updates to the gnulib stuff triggered what must be a rather old bug in the tp/maintain/regenerate_docstr.pl script. It completely fails to work in out-of-tree, a.k.a. VPATH builds. The problem is that this perl script writes makefile rules into tp/Makefile.docstr which look like this:

$(srcdir)/../po_document/'"$lingua.gmo"': $(srcdir)/../po_document/'"$lingua.po"'
        cd $(srcdir)/../po_document/ && $(MAKE) $(AM_MAKEFLAGS) '"$lingua.gmo"'

But in a VPATH build, there is no makefile in $(srcdir)/../po_document. The Makefile to be used is in $(builddir)/../po_document instead, or the shorter version: ../po_document. So the above rule really should become

$(srcdir)/../po_document/'"$lingua.gmo"': $(srcdir)/../po_document/'"$lingua.po"'
        cd ../po_document/ && $(MAKE) $(AM_MAKEFLAGS) '"$lingua.gmo"'

Or maybe, since the comment above this line already claims that this part is maintainer-only, and thus assumes GNU make:

$(srcdir)/../po_document/'"$lingua.gmo"': $(srcdir)/../po_document/'"$lingua.po"'
        $(MAKE) -C ../po_document $(AM_MAKEFLAGS) '"$lingua.gmo"'

Or maybe it should just run a single sub-make in po_document from tp's $(builddir) and be done with that, instead of one sub-make per out-of-date .po file target.


Cheers

Hans-Bernhard Broeker

Reply via email to