[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: suggestion to reduce unnecessary rebuilding
From: |
Paul Smith |
Subject: |
Re: suggestion to reduce unnecessary rebuilding |
Date: |
Thu, 24 Apr 2008 15:11:55 -0400 |
On Thu, 2008-04-24 at 15:01 -0400, Ilya Shlyakhter wrote:
> I want to make a suggestion that can speed up make by reducing
> unnecessary rebuilding:
>
> Before making a target, if that target already exists, move it to a
> temporary backup file.
> After the target is re-made, diff the newly made target against the backup.
> If it didn't change, reset the date of the newly made target to the
> date of the backup.
> In either case, delete the backup.
You can implement this yourself, in any makefile you like. You don't
need make to do it for you.
> Then, if a source file is changed in an insignificant way (e.g. by
> adding comments),
> that source file is still recompiled, but at least the downstream
> files that depend on it are not.
The problem is, the next time you do the build it will AGAIN rebuild
that target, AGAIN decide it hasn't changed, and AGAIN reset the stamp
back to the old time. And, the NEXT time you run make it will do it
again. Etc.
The result of this is if you make an innocuous change (say, adding a
comment) to a common header file that is included by all the source
files, make will end up rebuilding every .o every time you type make.