diff options
| author | Stefan Monnier | 2008-06-20 21:48:17 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2008-06-20 21:48:17 +0000 |
| commit | 49f6eb95b2dc33e178af0f3fd5d48217abe44d9b (patch) | |
| tree | 17b3baa6f639b19cce04e1f2d4769d79f83876f1 /Makefile.in | |
| parent | db61a7f8178124b13f2687c65813e5521b296a57 (diff) | |
| download | emacs-49f6eb95b2dc33e178af0f3fd5d48217abe44d9b.tar.gz emacs-49f6eb95b2dc33e178af0f3fd5d48217abe44d9b.zip | |
* 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.
Diffstat (limited to 'Makefile.in')
| -rw-r--r-- | Makefile.in | 80 |
1 files changed, 37 insertions, 43 deletions
diff --git a/Makefile.in b/Makefile.in index 3b3d7cf9e96..2b313dffa56 100644 --- a/Makefile.in +++ b/Makefile.in | |||
| @@ -56,11 +56,6 @@ | |||
| 56 | # make bootstrap | 56 | # make bootstrap |
| 57 | # Recompiles all the Emacs Lisp files using the latest source, | 57 | # Recompiles all the Emacs Lisp files using the latest source, |
| 58 | # then rebuilds Emacs. | 58 | # then rebuilds Emacs. |
| 59 | # | ||
| 60 | # make bootfast | ||
| 61 | # Recompiles changed Emacs Lisp files using the latest C source, | ||
| 62 | # then rebuilds Emacs. This is faster than `make bootstrap' | ||
| 63 | # but once in a while an old .elc file can cause trouble. | ||
| 64 | 59 | ||
| 65 | SHELL = /bin/sh | 60 | SHELL = /bin/sh |
| 66 | 61 | ||
| @@ -261,7 +256,11 @@ EMACSFULL = `echo emacs-${version}${EXEEXT} | sed '$(TRANSFORM)'` | |||
| 261 | # Subdirectories to make recursively. `lisp' is not included | 256 | # Subdirectories to make recursively. `lisp' is not included |
| 262 | # because the compiled lisp files are part of the distribution. | 257 | # because the compiled lisp files are part of the distribution. |
| 263 | # leim is not included because it needs special handling. | 258 | # leim is not included because it needs special handling. |
| 264 | SUBDIR = lib-src src | 259 | # |
| 260 | # Actually, we now include `lisp' as well, since the compiled files | ||
| 261 | # are not included any more in case of bootstrap or in case Emacs was | ||
| 262 | # checked out from a VCS. | ||
| 263 | SUBDIR = lib-src src lisp | ||
| 265 | 264 | ||
| 266 | # The subdir makefiles created by config.status. | 265 | # The subdir makefiles created by config.status. |
| 267 | 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 | 266 | 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 | |||
| 313 | 312 | ||
| 314 | .RECURSIVE: ${SUBDIR} leim | 313 | .RECURSIVE: ${SUBDIR} leim |
| 315 | 314 | ||
| 315 | # We need to build `emacs' in `src' to compile the *.elc files in `lisp'. | ||
| 316 | lisp: src | ||
| 317 | |||
| 316 | ${SUBDIR}: maybe_bootstrap ${SUBDIR_MAKEFILES} FRC | 318 | ${SUBDIR}: maybe_bootstrap ${SUBDIR_MAKEFILES} FRC |
| 317 | cd $@; $(MAKE) all $(MFLAGS) \ | 319 | cd $@; $(MAKE) all $(MFLAGS) \ |
| 318 | CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \ | 320 | CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \ |
| @@ -711,7 +713,7 @@ clean: FRC | |||
| 711 | ### `make distclean' should leave only the files that were in the | 713 | ### `make distclean' should leave only the files that were in the |
| 712 | ### distribution. | 714 | ### distribution. |
| 713 | top_distclean=\ | 715 | top_distclean=\ |
| 714 | rm -f config.status config.cache config.log ; \ | 716 | rm -f config.cache config.log ; \ |
| 715 | rm -f Makefile ${SUBDIR_MAKEFILES} ; \ | 717 | rm -f Makefile ${SUBDIR_MAKEFILES} ; \ |
| 716 | if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi | 718 | if [ -d lock ] ; then (cd lock && (rm -f * || true)); else true; fi |
| 717 | distclean: FRC | 719 | distclean: FRC |
| @@ -727,6 +729,22 @@ distclean: FRC | |||
| 727 | (cd lisp; $(MAKE) $(MFLAGS) distclean) | 729 | (cd lisp; $(MAKE) $(MFLAGS) distclean) |
| 728 | ${top_distclean} | 730 | ${top_distclean} |
| 729 | 731 | ||
| 732 | ### `bootstrap-clean' | ||
| 733 | ### Delete everything that can be reconstructed by `make' and that | ||
| 734 | ### needs to be deleted in order to force a bootstrap from a clean state. | ||
| 735 | bootstrap-clean: FRC | ||
| 736 | (cd src; $(MAKE) $(MFLAGS) bootstrap-clean) | ||
| 737 | (cd oldXMenu; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 738 | (cd lwlib; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 739 | (cd lib-src; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 740 | -(cd doc/emacs && $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 741 | -(cd doc/misc && $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 742 | -(cd doc/lispref && $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 743 | -(cd doc/lispintro && $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 744 | (cd leim; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 745 | (cd lisp; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 746 | ${top_distclean} | ||
| 747 | |||
| 730 | ### `maintainer-clean' | 748 | ### `maintainer-clean' |
| 731 | ### Delete everything from the current directory that can be | 749 | ### Delete everything from the current directory that can be |
| 732 | ### reconstructed with this Makefile. This typically includes | 750 | ### reconstructed with this Makefile. This typically includes |
| @@ -738,18 +756,9 @@ distclean: FRC | |||
| 738 | ### Makefile. More generally, `make maintainer-clean' should not delete | 756 | ### Makefile. More generally, `make maintainer-clean' should not delete |
| 739 | ### anything that needs to exist in order to run `configure' and then | 757 | ### anything that needs to exist in order to run `configure' and then |
| 740 | ### begin to build the program. | 758 | ### begin to build the program. |
| 741 | maintainer-clean: FRC | 759 | maintainer-clean: bootstrap-clean |
| 742 | (cd src; $(MAKE) $(MFLAGS) maintainer-clean) | 760 | (cd src; $(MAKE) $(MFLAGS) maintainer-clean) |
| 743 | (cd oldXMenu; $(MAKE) $(MFLAGS) maintainer-clean) | 761 | -rm -f config.status |
| 744 | (cd lwlib; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 745 | (cd lib-src; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 746 | -(cd doc/emacs && $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 747 | -(cd doc/misc && $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 748 | -(cd doc/lispref && $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 749 | -(cd doc/lispintro && $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 750 | (cd leim; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 751 | (cd lisp; $(MAKE) $(MFLAGS) maintainer-clean) | ||
| 752 | ${top_distclean} | ||
| 753 | 762 | ||
| 754 | ### This doesn't actually appear in the coding standards, but Karl | 763 | ### This doesn't actually appear in the coding standards, but Karl |
| 755 | ### says GCC supports it, and that's where the configuration part of | 764 | ### says GCC supports it, and that's where the configuration part of |
| @@ -826,7 +835,6 @@ dvi: | |||
| 826 | 835 | ||
| 827 | .PHONY: bootstrap | 836 | .PHONY: bootstrap |
| 828 | .PHONY: bootstrap-build | 837 | .PHONY: bootstrap-build |
| 829 | .PHONY: bootfast | ||
| 830 | .PHONY: maybe_bootstrap | 838 | .PHONY: maybe_bootstrap |
| 831 | 839 | ||
| 832 | maybe_bootstrap: | 840 | maybe_bootstrap: |
| @@ -837,40 +845,26 @@ maybe_bootstrap: | |||
| 837 | exit 1;\ | 845 | exit 1;\ |
| 838 | fi | 846 | fi |
| 839 | 847 | ||
| 840 | bootstrap: bootstrap-clean-before FRC | 848 | bootstrap: bootstrap-clean FRC |
| 849 | if [ -x ./config.status ]; then \ | ||
| 850 | ./config.status --recheck; \ | ||
| 851 | ./config.status; \ | ||
| 852 | else \ | ||
| 853 | ./configure --enable-maintainer-mode; \ | ||
| 854 | fi | ||
| 841 | $(MAKE) $(MFLAGS) info bootstrap-build | 855 | $(MAKE) $(MFLAGS) info bootstrap-build |
| 842 | 856 | ||
| 843 | bootfast: bootstrap-clean-before-fast FRC | 857 | src/bootstrap-emacs${EXEEXT}: |
| 844 | $(MAKE) $(MFLAGS) info bootstrap-build | 858 | (cd src; $(MAKE) $(MFLAGS) bootstrap-emacs${EXEEXT}) |
| 845 | 859 | ||
| 846 | ## There used to be a src; mostlyclean before all, but it does not | 860 | ## There used to be a src; mostlyclean before all, but it does not |
| 847 | ## seem to serve any purpose, and compiles things twice. | 861 | ## seem to serve any purpose, and compiles things twice. |
| 848 | ## http://lists.gnu.org/archive/html/emacs-devel/2008-06/msg00104.html | 862 | ## http://lists.gnu.org/archive/html/emacs-devel/2008-06/msg00104.html |
| 849 | bootstrap-build: FRC | 863 | bootstrap-build: src/bootstrap-emacs$(EXEEXT) FRC |
| 850 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap-prepare) | ||
| 851 | (cd src; $(MAKE) $(MFLAGS) bootstrap) | ||
| 852 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs${EXEEXT}) | 864 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap EMACS=../src/bootstrap-emacs${EXEEXT}) |
| 853 | $(MAKE) $(MFLAGS) all | 865 | $(MAKE) $(MFLAGS) all |
| 854 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap-after) | 866 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap-after) |
| 855 | 867 | ||
| 856 | ### Used for `bootstrap' to avoid deleting existing dumped Emacs executables. | ||
| 857 | bootstrap-clean-before: bootstrap-clean-before-fast FRC | ||
| 858 | (cd lisp; $(MAKE) $(MFLAGS) bootstrap-clean) | ||
| 859 | (cd leim; $(MAKE) $(MFLAGS) bootstrap-clean) | ||
| 860 | |||
| 861 | ### Used for `bootfast' to avoid deleting existing dumped Emacs executables | ||
| 862 | ### and compiled .elc files. | ||
| 863 | bootstrap-clean-before-fast: FRC | ||
| 864 | (cd src; $(MAKE) $(MFLAGS) mostlyclean) | ||
| 865 | (cd oldXMenu; $(MAKE) $(MFLAGS) clean) | ||
| 866 | (cd lwlib; $(MAKE) $(MFLAGS) clean) | ||
| 867 | (cd lib-src; $(MAKE) $(MFLAGS) clean) | ||
| 868 | -(cd doc/emacs && $(MAKE) $(MFLAGS) clean) | ||
| 869 | -(cd doc/misc && $(MAKE) $(MFLAGS) clean) | ||
| 870 | -(cd doc/lispref && $(MAKE) $(MFLAGS) clean) | ||
| 871 | -(cd doc/lispintro && $(MAKE) $(MFLAGS) clean) | ||
| 872 | (cd leim; $(MAKE) $(MFLAGS) clean) | ||
| 873 | |||
| 874 | .PHONY: check-declare | 868 | .PHONY: check-declare |
| 875 | 869 | ||
| 876 | check-declare: | 870 | check-declare: |