[Top][All Lists]

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

Re: Installing (everything in) a generated directory

From: Alexandre Duret-Lutz
Subject: Re: Installing (everything in) a generated directory
Date: Thu, 25 Nov 2004 21:10:44 +0100
User-agent: Gnus/5.1003 (Gnus v5.10.3) Emacs/21.3.50 (gnu/linux)

>>> "Braden" == Braden McDaniel <address@hidden> writes:

 >> >   EXTRA_DIST = manual
 >> >   html: manual
 >> >   install-data-local: manual installdirs-local
 >> >           $(INSTALL_DATA) ./manual/* $(DESTDIR)$(docdir)/manual
 >> >   manual:
 >> >           $(DOXYGEN)
 >> > 
 >> > When "make distcheck" runs "make install", I get this:
 >> >   /usr/bin/install -c -m 644 ./manual/* 
 >> > /home/bmcdaniel/src/openvrml/openvrml/BUILD/openvrml-0.14.99/_inst/share/doc/openvrml-0.14.99/manual
 >> >   /usr/bin/install: cannot stat `./manual/*': No such file or directory
 >> Where are the contents created?  $top_srcdir/manual or
 >> $top_builddir/manual?

 Braden> $builddir/manual, which is the same as $top_builddir/doc/manual.

Because the manual is distributed (EXTRA_DIST) there is a copy
of it in $(srcdir)/manual at this point of distcheck.  Because
$(srcdir)/manual exists and we have VPATH=$(srcdir), the `manual'
dependency of `install-data-local' is satisfied and the manual
is not recreated (which is undoubtedly what you want, otherwise
you wouldn't distribute it).

Hence either the install rule is wrong in assuming that the manual is
always in the build directory, or the build rule is wrong in building
the manual in the build directory.

I suggest you always build distributed files in the source
directory.  (BTW this is mandatory if you want to support VPATH
builds with some non-GNU implementation of make.)
Alexandre Duret-Lutz

reply via email to

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