This is the mail archive of the
automake@gnu.org
mailing list for the automake project.
Re: Installing only updated headers
- To: Alexandre Duret-Lutz <duret_g at lrde dot epita dot fr>
- Subject: Re: Installing only updated headers
- From: Alex Hornby <alex at anvil dot co dot uk>
- Date: 25 Oct 2001 11:20:56 +0100
- Cc: Simon Perkins <s dot perkins at lanl dot gov>, automake at gnu dot org
- List-Id: Discussion list for automake <automake.gnu.org>
- References: <3BD74B28.CFAA8F49@lanl.gov> <mvbsnc8oxeb.fsf@phobos.lrde.epita.fr>
On Thu, 2001-10-25 at 10:57, Alexandre Duret-Lutz wrote:
> >>> "Simon" == Simon Perkins <s.perkins@lanl.gov> writes:
>
> [...]
>
> Simon> The obvious solution is to use the -C option to install
> Simon> which will only copy header files that have actually
> Simon> changed since the last install. How do I get automake to
> Simon> do this?
>
> Overwrite INSTALL_HEADER from you Makefile.am?
>
> Simon> I notice that the Makefiles generated by automake set
> Simon> $(INSTALL) to 'install -c', and that this -c option is
> Simon> ignored by GNU install. What does the -c option do? Is
> Simon> it supposed to be -C?
>
> -c == copy the file (i.e. don't move it).
>
In projects where I want to do this, I add the following to
configure.in:
dnl Set up a non-clobbering install
ORIG_INSTALL=`realname $INSTALL`
AC_SUBST(ORIG_INSTALL)
case $target in
*linux*)
INSTALL="/usr/bin/install -C"
;;
esac
Obviously a proper feature test would be better, but it works for me :)
Perhaps $target should be something like $build_host if I was going to
cross compile.
Alex.