aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.in
diff options
context:
space:
mode:
authorStefan Monnier2008-06-20 21:48:17 +0000
committerStefan Monnier2008-06-20 21:48:17 +0000
commit49f6eb95b2dc33e178af0f3fd5d48217abe44d9b (patch)
tree17b3baa6f639b19cce04e1f2d4769d79f83876f1 /Makefile.in
parentdb61a7f8178124b13f2687c65813e5521b296a57 (diff)
downloademacs-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.in80
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
65SHELL = /bin/sh 60SHELL = /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.
264SUBDIR = 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.
263SUBDIR = lib-src src lisp
265 264
266# The subdir makefiles created by config.status. 265# The subdir makefiles created by config.status.
267SUBDIR_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 266SUBDIR_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'.
316lisp: 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.
713top_distclean=\ 715top_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
717distclean: FRC 719distclean: 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.
735bootstrap-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.
741maintainer-clean: FRC 759maintainer-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
832maybe_bootstrap: 840maybe_bootstrap:
@@ -837,40 +845,26 @@ maybe_bootstrap:
837 exit 1;\ 845 exit 1;\
838 fi 846 fi
839 847
840bootstrap: bootstrap-clean-before FRC 848bootstrap: 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
843bootfast: bootstrap-clean-before-fast FRC 857src/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
849bootstrap-build: FRC 863bootstrap-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.
857bootstrap-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.
863bootstrap-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
876check-declare: 870check-declare: