automake
[Top][All Lists]
Advanced

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

Re: texinfo files in sub directories


From: Thomas Keller
Subject: Re: texinfo files in sub directories
Date: Tue, 25 Jan 2011 10:29:46 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.2.13) Gecko/20101207 Lightning/1.0b3pre Thunderbird/3.1.7

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 | address@hidden | 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

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