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