automake
[Top][All Lists]
Advanced

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

Re: incremental make install


From: Bob Rossi
Subject: Re: incremental make install
Date: Thu, 22 Jan 2009 11:41:59 -0500
User-agent: Mutt/1.5.17+20080114 (2008-01-14)

On Thu, Jan 22, 2009 at 09:34:52AM -0700, 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?)
>
> No, a Makefile's install target normally just contains a series of  
> commands for installing everything, without checking if it exists first.  
>    If the install target depends on anything, it's usually basic  
> top-level targets like 'all'.  There's no technology limit that prevents  
> us from making it incremental.  All you'd have to do is write a rule for  
> every file that gets installed, and make the install target depend on  
> all of them.  Tedious to do by hand, but automake is good at doing such  
> things for you.
>
> I suspect the reason no one's done this is a combination of inertia,  
> friction, and lack of enough force to push us in that direction.
>
> Inertia is that everyone's historically done it that way.
>
> Friction is that even if automake adds this today, it's going to take  
> years to percolate through the community, decreasing the feature's  
> short-term value.
>
> Lack of force is that there are good reasons not to do it:
>
> - Install doesn't take very long, in any autoconfiscated package I've  
> seen.  A tiny fraction of the build time, most of the time, so the  
> effort to make things incremental goes into the build parts.  Just  
> because you *can* do something doesn't mean it makes sense to spend the  
> time to do it.

It doesn't take very long for you perhaps. On my mingw configuration it
takes very long. Perhaps 1-2 minutes. The executables tend to get very
very large with debug enabled and the copy is slow.

> - Sometimes you re-run an install to fix something you broke.  It might  
> be possible that an incremental re-install wouldn't fix it, where a  
> traditional one would.  Yes, you can come up with all kinds of  
> technology to ensure that the two are equivalent, but you can't  
> seriously believe this will all happen on day 1.  Until then, we end up  
> with a Windows-like mess: people saying you have to uninstall and then  
> reinstall to fix a broken install.

I mean, if make can use timestamps to determine if files need to be 
recompiled, i'm sure that would be good enough to do a reinstall? Maybe
not?

> You might get the impression from the above that I'm against doing this.  
>  I'm more just listing the reasons it hasn't been done yet, and reasons  
> that keep people from doing it now.  If none of this matters to you, get  
> coding and provide a patch that does this.

I don't have the will or time, but, I very much appreciate your help.
You have answered my question very gracefully.

Bob Rossi




reply via email to

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