* Makefile.in (${lisp} ${SOME_MACHINE_LISP}, ../lisp/loaddefs.el):
Use $(BOOTSTRAPEMACS) rather than witness-emacs.
(bootstrap-emacs${EXEEXT}): Merge witness-emacs into it.
(witness-emacs): Remove.
(lisp, shortlisp): Move loaddefs.el earlier.
(mostlyclean): Forget about witness-emacs.
* Makefile.in (COMPILE_FIRST): Trim down and add autoload.el.
(${lisp} ${SOME_MACHINE_LISP}): Remove pseudo dependency on PRECOMP.
(witness-emacs): Run `compile-first'.
(.el.elc): Use the new compile-onefile target.
* lisp/Makefile.in (update-elclist): Don't exclude COMPILE_FIRST.
(all): Run compile-last.
(compile-onefile): New target.
(compile-first): Simplify.
(compile-last): Don't treat COMPILE_FIRST specially.
(COMPILE_FIRST): List the elc files rather than the el files.
(ELCFILES): Update.
* src/Makefile.in (emacs${EXEEXT}): Link the new emacs to bootstrap-emacs.
(bootstrapclean): Remove.
(.el.elc): New rule.
(PRECOMP): New var.
(../lisp/subdirs.el): Remove.
(bootstrap-emacs${EXEEXT}): Remove subdirs.el and charpro.el dependency.
(witness-emacs): New target.
(mostlyclean): Remove witness-emacs as well.
(../lisp/loaddefs.el, ${lisp} ${SOME_MACHINE_LISP}):
Add witness-emacs dependency.
* lisp/loadup.el: Don't add emacs-<VERS> name when bootstrapping.
* lisp/Makefile.in (emacs-deps): Remove.
($(lisp)/cus-load.el, $(lisp)/finder-inf.el): Re-add.
(all): Use them.
(autogen-clean): Remove.
* Makefile.in (maybe_bootstrap, src/bootstrap-emacs${EXEEXT})
(bootstrap-build): Remove.
(top_bootclean): New var.
(top_distclean, bootstrap-clean): Use it.
(bootstrap): Don't recheck config. Make normally.
(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.
(custom-deps): Don't require $(lisp)/cus-load.el.
(custom-deps, finder-data): Don't depend on autoloads.
Should not be needed now, and doing so was causing make install to
re-dump emacs post-bootstrap.
(bootstrap-after): Don't run update-elclist, since modifying Makefile.in
mid-build forces some things to be rebuilt.