mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2025-01-17 17:58:46 +00:00
* src/Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
(bootstrap-clean): New target that keeps TAGS around. (../lisp/subdirs.el, ../lisp/loaddefs.el): New targets. (bootstrap-emacs${EXEEXT}): Depend on subdirs.el. * lisp/Makefile.in (all): New target. (bootstrap-prepare): Remove. * Makefile.in (SUBDIR): Include `lisp'. (lisp): Depend on `src'. (top_distclean): Don't remove config.status. (bootstrap-clean): New target. (maintainer-clean): Use it. (bootstrap): Use bootstrap-clean. Re-run config.status. (src/bootstrap-emacs${EXEEXT}): New target. (bootstrap-build): Use it. Don't use bootstrap-prepare because src/Makefile now takes care of it. (bootfast, bootstrap-clean-before, bootstrap-clean-before-fast): Remove.
This commit is contained in:
parent
db61a7f817
commit
49f6eb95b2
13
ChangeLog
13
ChangeLog
@ -1,6 +1,15 @@
|
|||||||
2008-06-20 Angelo Graziosi <angelo.graziosi@alice.it> (tiny change)
|
2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
* configure.in: Check for presence of cfmakeraw and cfsetspeed.
|
* Makefile.in (SUBDIR): Include `lisp'.
|
||||||
|
(lisp): Depend on `src'.
|
||||||
|
(top_distclean): Don't remove config.status.
|
||||||
|
(bootstrap-clean): New target.
|
||||||
|
(maintainer-clean): Use it.
|
||||||
|
(bootstrap): Use bootstrap-clean. Re-run config.status.
|
||||||
|
(src/bootstrap-emacs${EXEEXT}): New target.
|
||||||
|
(bootstrap-build): Use it. Don't use bootstrap-prepare because
|
||||||
|
src/Makefile now takes care of it.
|
||||||
|
(bootfast, bootstrap-clean-before, bootstrap-clean-before-fast): Remove.
|
||||||
|
|
||||||
2008-06-15 Glenn Morris <rgm@gnu.org>
|
2008-06-15 Glenn Morris <rgm@gnu.org>
|
||||||
|
|
||||||
|
20
INSTALL.CVS
20
INSTALL.CVS
@ -11,28 +11,14 @@ Therefore, to build from CVS you must run "make bootstrap"
|
|||||||
instead of just "make":
|
instead of just "make":
|
||||||
|
|
||||||
$ cvs update -dP
|
$ cvs update -dP
|
||||||
$ ./configure
|
|
||||||
$ make bootstrap
|
$ make bootstrap
|
||||||
|
|
||||||
The bootstrap process makes sure all necessary files are rebuilt
|
Of course, if this is the first time you go through it, you'll need to do
|
||||||
before it builds the final Emacs binary. Unfortunately, it doesn't
|
./configure before the "make bootstrap".
|
||||||
always work when there are stale files from a previous build in the
|
|
||||||
directory tree.
|
|
||||||
|
|
||||||
So if 'make bootstrap' fails, it may be necessary first to do 'make
|
|
||||||
maintainer-clean' to clear out these stale files. You can then try
|
|
||||||
again, starting with `./configure'.
|
|
||||||
|
|
||||||
Normally, it is not necessary to use "make bootstrap" after every CVS
|
Normally, it is not necessary to use "make bootstrap" after every CVS
|
||||||
update. Unless there are problems, we suggest using the following
|
update. "make" should work in 90% of the cases and be much quicker.
|
||||||
alternative procedure after you have done "make bootstrap" at least
|
|
||||||
once:
|
|
||||||
|
|
||||||
$ ./configure
|
|
||||||
$ make
|
|
||||||
$ cd lisp
|
|
||||||
$ make recompile
|
|
||||||
$ cd ..
|
|
||||||
$ make
|
$ make
|
||||||
|
|
||||||
(If you want to install the Emacs binary, type "make install" instead
|
(If you want to install the Emacs binary, type "make install" instead
|
||||||
|
80
Makefile.in
80
Makefile.in
@ -56,11 +56,6 @@
|
|||||||
# make bootstrap
|
# make bootstrap
|
||||||
# Recompiles all the Emacs Lisp files using the latest source,
|
# Recompiles all the Emacs Lisp files using the latest source,
|
||||||
# then rebuilds Emacs.
|
# then rebuilds Emacs.
|
||||||
#
|
|
||||||
# make bootfast
|
|
||||||
# Recompiles changed Emacs Lisp files using the latest C source,
|
|
||||||
# then rebuilds Emacs. This is faster than `make bootstrap'
|
|
||||||
# but once in a while an old .elc file can cause trouble.
|
|
||||||
|
|
||||||
SHELL = /bin/sh
|
SHELL = /bin/sh
|
||||||
|
|
||||||
@ -261,7 +256,11 @@ EMACSFULL = `echo emacs-${version}${EXEEXT} | sed '$(TRANSFORM)'`
|
|||||||
# Subdirectories to make recursively. `lisp' is not included
|
# Subdirectories to make recursively. `lisp' is not included
|
||||||
# because the compiled lisp files are part of the distribution.
|
# because the compiled lisp files are part of the distribution.
|
||||||
# leim is not included because it needs special handling.
|
# leim is not included because it needs special handling.
|
||||||
SUBDIR = lib-src src
|
#
|
||||||
|
# Actually, we now include `lisp' as well, since the compiled files
|
||||||
|
# are not included any more in case of bootstrap or in case Emacs was
|
||||||
|
# checked out from a VCS.
|
||||||
|
SUBDIR = lib-src src lisp
|
||||||
|
|
||||||
# The subdir makefiles created by config.status.
|
# The subdir makefiles created by config.status.
|
||||||
SUBDIR_MAKEFILES = lib-src/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispref/Makefile doc/lispintro/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile leim/Makefile lisp/Makefile
|
SUBDIR_MAKEFILES = lib-src/Makefile doc/emacs/Makefile doc/misc/Makefile doc/lispref/Makefile doc/lispintro/Makefile src/Makefile oldXMenu/Makefile lwlib/Makefile leim/Makefile lisp/Makefile
|
||||||
@ -313,6 +312,9 @@ lib-src: FRC src/config.stamp
|
|||||||
|
|
||||||
.RECURSIVE: ${SUBDIR} leim
|
.RECURSIVE: ${SUBDIR} leim
|
||||||
|
|
||||||
|
# We need to build `emacs' in `src' to compile the *.elc files in `lisp'.
|
||||||
|
lisp: src
|
||||||
|
|
||||||
${SUBDIR}: maybe_bootstrap ${SUBDIR_MAKEFILES} FRC
|
${SUBDIR}: maybe_bootstrap ${SUBDIR_MAKEFILES} FRC
|
||||||
cd $@; $(MAKE) all $(MFLAGS) \
|
cd $@; $(MAKE) all $(MFLAGS) \
|
||||||
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
|
CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \
|
||||||
@ -711,7 +713,7 @@ clean: FRC
|
|||||||
### `make distclean' should leave only the files that were in the
|
### `make distclean' should leave only the files that were in the
|
||||||
### distribution.
|
### distribution.
|
||||||
top_distclean=\
|
top_distclean=\
|
||||||
rm -f config.status config.cache config.log ; \
|
rm -f config.cache config.log ; \
|
||||||
rm -f Makefile ${SUBDIR_MAKEFILES} ; \
|
rm -f Makefile ${SUBDIR_MAKEFILES} ; \
|
||||||
if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi
|
if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi
|
||||||
distclean: FRC
|
distclean: FRC
|
||||||
@ -727,6 +729,22 @@ distclean: FRC
|
|||||||
(cd lisp; $(MAKE) $(MFLAGS) distclean)
|
(cd lisp; $(MAKE) $(MFLAGS) distclean)
|
||||||
${top_distclean}
|
${top_distclean}
|
||||||
|
|
||||||
|
### `bootstrap-clean'
|
||||||
|
### Delete everything that can be reconstructed by `make' and that
|
||||||
|
### needs to be deleted in order to force a bootstrap from a clean state.
|
||||||
|
bootstrap-clean: FRC
|
||||||
|
(cd src; $(MAKE) $(MFLAGS) bootstrap-clean)
|
||||||
|
(cd oldXMenu; $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
|
(cd lwlib; $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
|
(cd lib-src; $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
|
-(cd doc/emacs && $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
|
-(cd doc/misc && $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
|
-(cd doc/lispref && $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
|
-(cd doc/lispintro && $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
|
(cd leim; $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
|
(cd lisp; $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
|
${top_distclean}
|
||||||
|
|
||||||
### `maintainer-clean'
|
### `maintainer-clean'
|
||||||
### Delete everything from the current directory that can be
|
### Delete everything from the current directory that can be
|
||||||
### reconstructed with this Makefile. This typically includes
|
### reconstructed with this Makefile. This typically includes
|
||||||
@ -738,18 +756,9 @@ distclean: FRC
|
|||||||
### Makefile. More generally, `make maintainer-clean' should not delete
|
### Makefile. More generally, `make maintainer-clean' should not delete
|
||||||
### anything that needs to exist in order to run `configure' and then
|
### anything that needs to exist in order to run `configure' and then
|
||||||
### begin to build the program.
|
### begin to build the program.
|
||||||
maintainer-clean: FRC
|
maintainer-clean: bootstrap-clean
|
||||||
(cd src; $(MAKE) $(MFLAGS) maintainer-clean)
|
(cd src; $(MAKE) $(MFLAGS) maintainer-clean)
|
||||||
(cd oldXMenu; $(MAKE) $(MFLAGS) maintainer-clean)
|
-rm -f config.status
|
||||||
(cd lwlib; $(MAKE) $(MFLAGS) maintainer-clean)
|
|
||||||
(cd lib-src; $(MAKE) $(MFLAGS) maintainer-clean)
|
|
||||||
-(cd doc/emacs && $(MAKE) $(MFLAGS) maintainer-clean)
|
|
||||||
-(cd doc/misc && $(MAKE) $(MFLAGS) maintainer-clean)
|
|
||||||
-(cd doc/lispref && $(MAKE) $(MFLAGS) maintainer-clean)
|
|
||||||
-(cd doc/lispintro && $(MAKE) $(MFLAGS) maintainer-clean)
|
|
||||||
(cd leim; $(MAKE) $(MFLAGS) maintainer-clean)
|
|
||||||
(cd lisp; $(MAKE) $(MFLAGS) maintainer-clean)
|
|
||||||
${top_distclean}
|
|
||||||
|
|
||||||
### This doesn't actually appear in the coding standards, but Karl
|
### This doesn't actually appear in the coding standards, but Karl
|
||||||
### says GCC supports it, and that's where the configuration part of
|
### says GCC supports it, and that's where the configuration part of
|
||||||
@ -826,7 +835,6 @@ dvi:
|
|||||||
|
|
||||||
.PHONY: bootstrap
|
.PHONY: bootstrap
|
||||||
.PHONY: bootstrap-build
|
.PHONY: bootstrap-build
|
||||||
.PHONY: bootfast
|
|
||||||
.PHONY: maybe_bootstrap
|
.PHONY: maybe_bootstrap
|
||||||
|
|
||||||
maybe_bootstrap:
|
maybe_bootstrap:
|
||||||
@ -837,40 +845,26 @@ maybe_bootstrap:
|
|||||||
exit 1;\
|
exit 1;\
|
||||||
fi
|
fi
|
||||||
|
|
||||||
bootstrap: bootstrap-clean-before FRC
|
bootstrap: bootstrap-clean FRC
|
||||||
|
if [ -x ./config.status ]; then \
|
||||||
|
./config.status --recheck; \
|
||||||
|
./config.status; \
|
||||||
|
else \
|
||||||
|
./configure --enable-maintainer-mode; \
|
||||||
|
fi
|
||||||
$(MAKE) $(MFLAGS) info bootstrap-build
|
$(MAKE) $(MFLAGS) info bootstrap-build
|
||||||
|
|
||||||
bootfast: bootstrap-clean-before-fast FRC
|
src/bootstrap-emacs${EXEEXT}:
|
||||||
$(MAKE) $(MFLAGS) info bootstrap-build
|
(cd src; $(MAKE) $(MFLAGS) bootstrap-emacs${EXEEXT})
|
||||||
|
|
||||||
## There used to be a src; mostlyclean before all, but it does not
|
## There used to be a src; mostlyclean before all, but it does not
|
||||||
## seem to serve any purpose, and compiles things twice.
|
## seem to serve any purpose, and compiles things twice.
|
||||||
## http://lists.gnu.org/archive/html/emacs-devel/2008-06/msg00104.html
|
## http://lists.gnu.org/archive/html/emacs-devel/2008-06/msg00104.html
|
||||||
bootstrap-build: FRC
|
bootstrap-build: src/bootstrap-emacs$(EXEEXT) FRC
|
||||||
(cd lisp; $(MAKE) $(MFLAGS) bootstrap-prepare)
|
|
||||||
(cd src; $(MAKE) $(MFLAGS) bootstrap)
|
|
||||||
(cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs${EXEEXT})
|
(cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs${EXEEXT})
|
||||||
$(MAKE) $(MFLAGS) all
|
$(MAKE) $(MFLAGS) all
|
||||||
(cd lisp; $(MAKE) $(MFLAGS) bootstrap-after)
|
(cd lisp; $(MAKE) $(MFLAGS) bootstrap-after)
|
||||||
|
|
||||||
### Used for `bootstrap' to avoid deleting existing dumped Emacs executables.
|
|
||||||
bootstrap-clean-before: bootstrap-clean-before-fast FRC
|
|
||||||
(cd lisp; $(MAKE) $(MFLAGS) bootstrap-clean)
|
|
||||||
(cd leim; $(MAKE) $(MFLAGS) bootstrap-clean)
|
|
||||||
|
|
||||||
### Used for `bootfast' to avoid deleting existing dumped Emacs executables
|
|
||||||
### and compiled .elc files.
|
|
||||||
bootstrap-clean-before-fast: FRC
|
|
||||||
(cd src; $(MAKE) $(MFLAGS) mostlyclean)
|
|
||||||
(cd oldXMenu; $(MAKE) $(MFLAGS) clean)
|
|
||||||
(cd lwlib; $(MAKE) $(MFLAGS) clean)
|
|
||||||
(cd lib-src; $(MAKE) $(MFLAGS) clean)
|
|
||||||
-(cd doc/emacs && $(MAKE) $(MFLAGS) clean)
|
|
||||||
-(cd doc/misc && $(MAKE) $(MFLAGS) clean)
|
|
||||||
-(cd doc/lispref && $(MAKE) $(MFLAGS) clean)
|
|
||||||
-(cd doc/lispintro && $(MAKE) $(MFLAGS) clean)
|
|
||||||
(cd leim; $(MAKE) $(MFLAGS) clean)
|
|
||||||
|
|
||||||
.PHONY: check-declare
|
.PHONY: check-declare
|
||||||
|
|
||||||
check-declare:
|
check-declare:
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* Makefile.in (all): New target.
|
||||||
|
(bootstrap-prepare): Remove.
|
||||||
|
|
||||||
* Makefile.in ($(lisp)/progmodes/cc-mode.elc): Pass the .el file not
|
* Makefile.in ($(lisp)/progmodes/cc-mode.elc): Pass the .el file not
|
||||||
the .elc file to batch-byte-compile.
|
the .elc file to batch-byte-compile.
|
||||||
|
|
||||||
|
@ -98,6 +98,10 @@ setwins_almost=subdirs=`(cd $$wd; find . -type d -print)`; \
|
|||||||
esac; \
|
esac; \
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# `compile-main' tends to be slower than `recompile' but can be parallelized
|
||||||
|
# with "make -j" and results in more deterministic compilation warnings.
|
||||||
|
all: compile-main
|
||||||
|
|
||||||
doit:
|
doit:
|
||||||
|
|
||||||
# custom-deps and finder-data both used to scan _all_ the *.el files.
|
# custom-deps and finder-data both used to scan _all_ the *.el files.
|
||||||
@ -1401,11 +1405,6 @@ $(CAL_DIR)/hol-loaddefs.el: $(emacs-deps) $(CAL_SRC)
|
|||||||
# local changes. (Because loaddefs.el is an automatically generated
|
# local changes. (Because loaddefs.el is an automatically generated
|
||||||
# file, we don't want to store it in the source repository).
|
# file, we don't want to store it in the source repository).
|
||||||
|
|
||||||
bootstrap-prepare:
|
|
||||||
if test -x $(EMACS); then \
|
|
||||||
$(MAKE) $(MFLAGS) autoloads EMACS=$(EMACS); \
|
|
||||||
fi
|
|
||||||
|
|
||||||
autogen-clean:
|
autogen-clean:
|
||||||
cd $(lisp); rm -f $(AUTOGENEL)
|
cd $(lisp); rm -f $(AUTOGENEL)
|
||||||
|
|
||||||
|
@ -1,10 +1,17 @@
|
|||||||
|
2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
* Makefile.in (emacs${EXEEXT}): Depend on the machine-specific files.
|
||||||
|
(bootstrap-clean): New target that keeps TAGS around.
|
||||||
|
(../lisp/subdirs.el, ../lisp/loaddefs.el): New targets.
|
||||||
|
(bootstrap-emacs${EXEEXT}): Depend on subdirs.el.
|
||||||
|
|
||||||
2008-06-20 Jason Rumney <jasonr@gnu.org>
|
2008-06-20 Jason Rumney <jasonr@gnu.org>
|
||||||
|
|
||||||
* w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]: Remove
|
* w32fns.c, w32term.c, w32term.h, w32gui.h [OLD_FONT]:
|
||||||
obsolete font code.
|
Remove obsolete font code.
|
||||||
|
|
||||||
* w32font.c (font_matches_spec): Use csb bitfield from font signature
|
* w32font.c (font_matches_spec): Use csb bitfield from font signature
|
||||||
to determine language support.
|
to determine language support.
|
||||||
|
|
||||||
2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
2008-06-20 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||||
|
|
||||||
|
@ -906,7 +906,7 @@ RUN_TEMACS = `/bin/pwd`/temacs
|
|||||||
|
|
||||||
all: emacs${EXEEXT} OTHER_FILES
|
all: emacs${EXEEXT} OTHER_FILES
|
||||||
|
|
||||||
emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp}
|
emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp} ${SOME_MACHINE_LISP}
|
||||||
#ifdef CANNOT_DUMP
|
#ifdef CANNOT_DUMP
|
||||||
rm -f emacs${EXEEXT}
|
rm -f emacs${EXEEXT}
|
||||||
ln temacs${EXEEXT} emacs${EXEEXT}
|
ln temacs${EXEEXT} emacs${EXEEXT}
|
||||||
@ -1284,6 +1284,10 @@ distclean: clean
|
|||||||
mv ./.gdbinit ./.gdbinit.save
|
mv ./.gdbinit ./.gdbinit.save
|
||||||
if test -f "${srcdir}/.gdbinit"; then rm -f ./.gdbinit.save; \
|
if test -f "${srcdir}/.gdbinit"; then rm -f ./.gdbinit.save; \
|
||||||
else mv ./.gdbinit.save ./.gdbinit; fi
|
else mv ./.gdbinit.save ./.gdbinit; fi
|
||||||
|
/* bootstrap-clean is used to clean up just before a bootstrap.
|
||||||
|
It should remove all files generated during a compilation/bootstrap,
|
||||||
|
but not things like config.status or TAGS. */
|
||||||
|
bootstrap-clean: distclean
|
||||||
maintainer-clean: distclean
|
maintainer-clean: distclean
|
||||||
@echo "This command is intended for maintainers to use;"
|
@echo "This command is intended for maintainers to use;"
|
||||||
@echo "it deletes files that may require special tools to rebuild."
|
@echo "it deletes files that may require special tools to rebuild."
|
||||||
@ -1318,10 +1322,16 @@ tags: TAGS TAGS-LISP $(lwlibdir)TAGS
|
|||||||
|
|
||||||
bootstrap: bootstrap-emacs${EXEEXT}
|
bootstrap: bootstrap-emacs${EXEEXT}
|
||||||
|
|
||||||
|
../lisp/subdirs.el:
|
||||||
|
cd $(lispsource); $(MAKE) update-subdirs
|
||||||
|
|
||||||
|
../lisp/loaddefs.el: bootstrap-emacs${EXEEXT}
|
||||||
|
cd $(lispsource); $(MAKE) autoloads EMACS=../src/bootstrap-emacs${EXEEXT}
|
||||||
|
|
||||||
/* Dump an Emacs executable named bootstrap-emacs containing the
|
/* Dump an Emacs executable named bootstrap-emacs containing the
|
||||||
files from loadup.el in source form. */
|
files from loadup.el in source form. */
|
||||||
|
|
||||||
bootstrap-emacs${EXEEXT}: temacs${EXEEXT} ${lispsource}international/charprop.el
|
bootstrap-emacs${EXEEXT}: temacs${EXEEXT} ${lispsource}international/charprop.el ../lisp/subdirs.el
|
||||||
#ifdef CANNOT_DUMP
|
#ifdef CANNOT_DUMP
|
||||||
ln temacs${EXEEXT} bootstrap-emacs${EXEEXT}
|
ln temacs${EXEEXT} bootstrap-emacs${EXEEXT}
|
||||||
#else
|
#else
|
||||||
|
Loading…
Reference in New Issue
Block a user