Subject: bug#2151: 23.0.90; Building the 23.0.90 pretest recompiles Lisp files

From: Magnus Henoch <[email-masked]>
Date: Mon, 02 Feb 2009 21:25:59 +0000

Stefan Monnier <[email-masked]> writes:

> PS: Part of the problem, as far as I understand it, is that we need
> the .elc files to depend on bootstrap-emacs so as to tell `make' to
> build bootstrap-emacs when needed, but we don't actually need the .elc
> files to be newer than bootstrap-emacs (in some rare cases a newer
> bootstrap-emacs will compile the .el differently, but in general it's
> not the case).  But `make' doesn't have such a concept of a dependency
> that "needs to exist, but doesn't need to be older".

I think (info "(make)Prerequisite Types") provides just that.  (And the
Features section at least doesn't explicitly say that this is unique for
GNU make.)

I.e. something like:

%.elc: %.el | bootstrap-emacs
       cp $< $@

Apologies if I'm missing the point; I just wanted to point out this
rarely-used make feature.

Magnus