automake
[Top][All Lists]
Advanced

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

Re: incremental make install


From: Ralf Wildenhues
Subject: Re: incremental make install
Date: Thu, 22 Jan 2009 20:33:27 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

Hello,

I am amazed at how much noise this question has generated.

* Bob Rossi wrote on Thu, Jan 22, 2009 at 05:57:59PM CET:
> On Thu, Jan 22, 2009 at 11:51:56AM -0500, Peter Johansson wrote:
> > Warren Young wrote:
> >> Bob Rossi wrote:
> >>>
> >>> I was wondering if there is an incremental make install command? (my  
> >>> make install doesn't appear to be incremental, should it be?)

What do you mean by "incremental", by the way?  Or are you merely
interested in "faster"?

> > There is an item in the not yet released Automake NEWS that I guess is  
> > related to this:
> >
> > - install-sh supports -C, which does not update the installed file
> >   (and its time stamps) if the contents did not change.

> O, very nice. I think I'll beta test that for you guys. Do you happen
> to know how a user could get that feature working off the top of your
> head?

For just this feature alone, all you need is get a suitably recent
install-sh and use something like
  make install "INSTALL=/path/to/install-sh -C"

which will not update files whose contents has not changed (on systems
with BSD install you can just use that with -C, of course).  It may be
necessary to also override install_sh=... as above.  You can also pass
INSTALL as argument to configure.

The above might well not be much faster, as install-sh is a shell script
and thus installation still causes many forks.

If you primarily want faster installation, though, then I recommend
trying out git Automake: it can install multiple files per "install"
invocation.  With a project with many small files, and on systems with
slow fork&exec, this will provide much better improvement.

Hope that helps.

And BTW, it is possible to grab and use git Automake without waiting for
it to be picked up by distributions.  The resulting Makefile.in files
can be distributed with your package and won't need a new automake on
your user's systems.

Cheers,
Ralf




reply via email to

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