The annoyance of repeating Makefiles

Ken Murchison murch at andrew.cmu.edu
Tue Jan 23 10:52:16 EST 2007


Gary Mills wrote:
> On Tue, Jan 23, 2007 at 09:50:32AM -0500, Ken Murchison wrote:
>> Gary Mills wrote:
>>> I've noticed for some time that whenever I type `make' in the Cyrus
>>> source tree, it always recompiles something.  A repeated make should
>>> evenually stop compiling but this one never does.  The worst offenders
>>> are the various perl Makefiles which rebuild Makefile from Makefile.PL
>>> every time, instead of only doing it when it's out of date.  This
>> I'm not a Perl guy, so I don't know if this is necessary or not.
> 
> The problem is that Makefile.PL is not really a Makefile.  It's run
> by perl to create the Makefile.  I suppose that that should be done
> by the configure step, not by the compile step.

Sounds reasonable to me.


>>> causes the perl modules to be recompiled.  As well, imap/Makefile
>>> recreates xversion.h each time, resulting in more recompiles.
>> We recreate xversion.h (and imapd as a result) so we get an accurate CVS 
>> timestamp in imapd for version reporting.
> 
> I'm not a CVS guy, but there must be a better way to accomplish this
> without causing a recompile.

If there is, I'd love for somebody to tell me.  We look at the CVS 
timestamp of ALL of the source files and then put that into xversion.h


>>> This behavior is annoying because I build the Cyrus software on a
>>> development server but then install it on other servers where there
>>> is no compiler and the source tree is mounted read-only.  This breaks
>>> `make install', which should only install things, not recompile them.
>>> Can this be fixed, or am I condemned to hack Makefiles myself?
>> A 'make install' shouldn't compile anything if all of the generated 
>> files already exist.  I would consider this a bug and would gladly 
>> accept a patch which fixes this behavior.
> 
> Is there a release coming soon, perhaps to fix the core dump that
> we heard about?  If so, I'll use that distribution to work on a patch.

There will be a release as soon as I track down and fix the bug that 
causes mupdate to randomly spin in 2.3.


-- 
Kenneth Murchison
Project Cyrus Developer/Maintainer
Carnegie Mellon University


More information about the Info-cyrus mailing list