Subject: Re: bug#327: 23.0.60; make bootstrap fails from CVS

From: Glenn Morris <[email-masked]>
Date: Tue, 27 May 2008 19:35:30 -0400

Ted Zlatanov wrote:

> The change you introduced to lisp/Makefile.in on 2008-05-21 seems to be
> the problem. 

I was in no doubt of that. :)
What I don't see is how/where.

> It looks like your changes use some bash features, which might be
> the problem for me (I use zsh, I don't know what Make invokes).

make uses SHELL = /bin/sh.

The problem seems to be in the suffix rule. I don't get it.

The simple test below works for me. Does it work for you? Save to
lisp/XXX directory, and do `make -f XXX compile-main'. If it fails,
the make -d output for calc-aent.elc ought to be informative. If it
works, then I don't see what is wrong with the normal lisp/Makefile...

PS your mail went to the wrong addresses. Rather than:
[email-masked], [email-masked]

it went to [email-masked] and [email-masked]

with a Followup-To: gmane.emacs.devel.

Or at least, the copy I actually ended up reading did (there are often
multiple copies of things flying around these days).

SHELL = /bin/sh   # works for me with /bin/zsh too

EMACS = ../src/emacs
EMACSOPT = -batch --no-site-file --multibyte

lisp = $(PWD)

emacs = EMACSLOADPATH=$(lisp) LC_ALL=C $(EMACS) $(EMACSOPT)

ELCFILES = \
         $(lisp)/abbrev.elc \
         $(lisp)/calc/calc-aent.elc

compile-main: $(ELCFILES)

.SUFFIXES: .elc .el

.el.elc:
    @echo Compiling $<
    @$(emacs) -f batch-byte-compile $<