Heime <[email protected]> writes:

> I notice that Makefile.in includes ${buildinfodir} as order-only 
> prerequisites.
> Why is this, why is it important?  Should one do the same for other 
> documentation?
>

(Adding ‘[email protected]’ to Cc: in case that mailing list’s
users want to respond.)

1. Short answer about the question of order-only
   prerequisites: (info "(make) Prerequisite Types")

2. As the text in the ‘make’ user manual explains, the
   reason for the build-only prerequisite is to specify a
   target/dependency relationship that does not include the
   time that the prerequisite was updated.  So long as the
   prerequisite exists, the prerequisite is considered up to
   date.  If it does not exist, then carry out its recipe/rule
   for creating it.

   In this case, the target requires that the directory
   exists, but the target does not need to be updated whenever
   the directory’s timestamp has been updated.

> $(buildinfodir)/emacs.info: ${EMACSSOURCES} | ${buildinfodir}
>       $(AM_V_GEN)$(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ $<
>
> But for emacs.dvi and emacs.pdf, ${buildinfodir} is not used.  What is the 
> reason?
>

Your Emacs distribution will include a ‘info’ directory that
contains all of the .info files that make up the
Emacs-related manuals.  The other forms of files that can be
generated from .texinfo files do not belong in the ‘info’
directory.  This is similar to the requirement that all
Emacs Lisp source files that are included in your Emacs
distribution belong in the directory (tree) ‘lisp’, but
other (non-Emacs-Lisp) files do not belong there.

-- 
The lyf so short, the craft so long to lerne.
- Geoffrey Chaucer, The Parliament of Birds.

Reply via email to