[Top][All Lists]
[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
signature.asc
Description: OpenPGP digital signature