The annoyance of repeating Makefiles

Gary Mills mills at cc.umanitoba.ca
Tue Jan 23 10:47:07 EST 2007


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.

> >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.

> >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.

-- 
-Gary Mills-    -Unix Support-    -U of M Academic Computing and Networking-


More information about the Info-cyrus mailing list