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