Hi Ralf!

> * Thomas Keller wrote on Tue, Jan 25, 2011 at 12:36:12AM CET:
>> I'm currently in the process of cleaning up our source tree and
>> reorganize many files. One of the last tasks here is to combine our
>> documentation-relevant files into one subdirectory doc/. This worked out
>> fine so far, i.e. info files are automatically generated at the correct
>> place, but the previously automatically generated targets for PDF and
>> DVI output completely vanished from the resulting Makefile and as such
>> PDF and DVI generation are completely broken.
> 
> Please send a minimal example Makefile.am and commands to reproduce the
> breakage, plus their error messages, to bug-automake (opening a new PR).
> 
> FWIW, Libtool uses subdir texinfo files for a while now.  There have
> been some glitches a while ago (I only find this now:
> <http://thread.gmane.org/gmane.comp.tex.texinfo.bugs/3930>)
> but otherwise things should be working.

I think I figured it out. Its not a bug in automake, but rather an, erm,
unexpected behaviour.

If the texi source remains in $(topsrcdir), which it was for us in the
past, automake generates rules like this:

-----------
.texi.pdf:
    TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
    MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I \
    $(srcdir)' $(TEXI2PDF) $<
...
sample.pdf: test.texi
-----------

while it creates the following rules when the texi source remains in
some sub directory:

-----------
doc/sample.pdf: doc/test.texi  doc/$(am__dirstamp)
        TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
        MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I \
        doc -I $(srcdir)/doc' $(TEXI2PDF) -o \
        $@ `test -f 'doc/test.texi' || echo '$(srcdir)/'`doc/test.texi
-----------

This is the Makefile.am that leads to the above results:

-----------
AUTOMAKE_OPTIONS = subdir-objects -Wno-portability
info_TEXINFOS = doc/test.texi
MAKEINFOFLAGS=-I $(top_builddir)
-----------

So the error for me (and the others) was that we had a custom
"doc/sample.pdf" target in our Makefile.am, which was added in the past
to let the manual depend on other included sources. This target probably
conflicted with the auto-generated target above and therefor the PDF
(and DVI) generation code was missing.

From looking at the automake docs I think I found the proper solution
for this dilemma: using test_TEXINFOS for the additional requirements.

Thomas.

-- 
GPG-Key 0x160D1092 | tommyd3...@jabber.ccc.de | http://thomaskeller.biz
Please note that according to the EU law on data retention, information
on every electronic information exchange might be retained for a period
of six months or longer: http://www.vorratsdatenspeicherung.de/?lang=en


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to