[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
make maintainer-clean invokes gcc. It shouldn't, surely?
From: |
Alan Mackenzie |
Subject: |
make maintainer-clean invokes gcc. It shouldn't, surely? |
Date: |
Wed, 30 Jul 2008 13:20:05 +0000 |
User-agent: |
Mutt/1.5.9i |
Hi, Emacs,
I'm going mad. I'm going round and round in circles in update hell.
I couldn't build Emacs last night or this morning, so in the end I
copied my entire emacs directory to somewhere new, and did
% make maintainer-clean
on it. Guess what? Somehow, it calls gcc in an attempt to compile
.../src/Makefile.c
make maintainer-clean is meant just to delete everything apart from the
raw source. So how does it go about this? rm -rf *.o *.elc ......???
<sarcasm>
Oh no! make is far too sophisticated for something so vulgar. No, the
proper way is to recursively invoke make on all the sub Makefiles,
obfuscating it with arguments like $(MFLAGS). This has the advantage of
not being able to see what's going on.
</sarcasm>
Well, the ..../src/Makefile is also too sophisticated to do vulgar rm
-rf, so it therefore needs to compile Makefile.c. In fact, it's trying
to compile Makefile.c in my original directory emacs, not the copy
emacs-300708.
What is the rock bottom clear-out-the-dross target doing invoking the
compiler on a file in a different directory tree? Most of the times I
do a cvs update, I spend 5 to 10 hours trying to debug the make process.
Our make system is broken. Either that, or I have descended into
lunacy.
find . -name Makefile | xargs wc
gives 13 files with these totals:
4505 lines 17519 words 161027 bytes.
Would somebody like to convince me that Emacs's build complexity is
worth 4.5k lines of makefile, even given that a lot of them are
comments? Emacs is NOT THAT COMPLICATED to build.
If anybody feels like helping me after this bad-tempered rant, please
help me. What am I doing wrong? How do I clear all built files out of
a directory tree? How do I build Emacs?
--
Alan Mackenzie (Nuremberg, Germany).
- make maintainer-clean invokes gcc. It shouldn't, surely?,
Alan Mackenzie <=