[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