annotate lisp/Makefile.in @ 65010:e654d00374e0

Expand comment about building loaddefs.el.
author Luc Teirlinck <teirllm@auburn.edu>
date Wed, 17 Aug 2005 01:58:07 +0000
parents 6358e3c6075c
children 135cf95723ca 532e0a9335a9 2d92f5c9d6ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
1 # Maintenance productions for the Lisp directory
64769
6358e3c6075c Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64091
diff changeset
2 # Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
36226
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
3
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
4 # This file is part of GNU Emacs.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
5
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
6 # GNU Emacs is free software; you can redistribute it and/or modify
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
7 # it under the terms of the GNU General Public License as published by
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
8 # the Free Software Foundation; either version 2, or (at your option)
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
9 # any later version.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
10
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
11 # GNU Emacs is distributed in the hope that it will be useful,
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
14 # GNU General Public License for more details.
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
15
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
16 # You should have received a copy of the GNU General Public License
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
17 # along with GNU Emacs; see the file COPYING. If not, write to
64091
6fb026ad601f Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63338
diff changeset
18 # the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
6fb026ad601f Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 63338
diff changeset
19 # Boston, MA 02110-1301, USA.
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
20
29679
97ed659aea4e (SHELL): Make sure /bin/sh is used.
Eli Zaretskii <eliz@gnu.org>
parents: 29657
diff changeset
21 SHELL = /bin/sh
97ed659aea4e (SHELL): Make sure /bin/sh is used.
Eli Zaretskii <eliz@gnu.org>
parents: 29657
diff changeset
22
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
23 lisp=@srcdir@
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
24 VPATH=@srcdir@
29704
ce8197473e44 (srcdir): Define for update-subdirs.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 29703
diff changeset
25 srcdir=@srcdir@/..
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
26
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
27 # You can specify a different executable on the make command line,
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
28 # e.g. "make EMACS=../src/emacs ...".
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
29
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
30 EMACS = ../src/emacs
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
31
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
32 # Command line flags for Emacs. This must include --multibyte,
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
33 # otherwise some files will not compile.
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
34
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
35 EMACSOPT = -batch --no-site-file --multibyte
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
36
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
37 SOURCES = *.el COPYING Makefile
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
38 lisptagsfiles1 = $(lisp)/[a-zA-Z]*.el
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
39 lisptagsfiles2 = $(lisp)/[a-zA-Z]*/[a-zA-Z]*.el
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
40 ETAGS = ../lib-src/etags
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
41
54244
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
42 # Elisp files auto-generated.
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
43 AUTOGENEL = loaddefs.el \
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
44 cus-load.el \
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
45 finder-inf.el \
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
46 subdirs.el \
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
47 eshell/esh-groups.el
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
48
36918
b485ed237672 (COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents: 36226
diff changeset
49 # Files to compile before others during a bootstrap. This is done to
b485ed237672 (COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents: 36226
diff changeset
50 # speed up the bootstrap process. The CC files are compiled first
b485ed237672 (COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents: 36226
diff changeset
51 # because CC mode tweaks the compilation process, and requiring
b485ed237672 (COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents: 36226
diff changeset
52 # cc-mode when it is not compiled doesn't work during the
b485ed237672 (COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents: 36226
diff changeset
53 # bootstrapping.
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
54
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
55 COMPILE_FIRST = \
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
56 $(lisp)/emacs-lisp/byte-opt.el \
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
57 $(lisp)/emacs-lisp/bytecomp.el \
36918
b485ed237672 (COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents: 36226
diff changeset
58 $(lisp)/subr.el \
b485ed237672 (COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents: 36226
diff changeset
59 $(lisp)/progmodes/cc-mode.el \
b485ed237672 (COMPILE_FIRST): Add cc-mode.el
Gerd Moellmann <gerd@gnu.org>
parents: 36226
diff changeset
60 $(lisp)/progmodes/cc-vars.el
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
61
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
62 # The actual Emacs command run in the targets below.
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
63
33158
075e5f998739 * Makefile.in (emacs): Set EMACSLOADPATH always.
Ken Raeburn <raeburn@raeburn.org>
parents: 32884
diff changeset
64 emacs = EMACSLOADPATH=$(lisp) $(EMACS) $(EMACSOPT)
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
65
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
66 # Common command to find subdirectories
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
67
54632
e2815226989d (setwins, setwins_almost): Change directory to $wd
Kenichi Handa <handa@m17n.org>
parents: 54248
diff changeset
68 setwins=subdirs=`(cd $$wd; find . -type d -print)`; \
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
69 for file in $$subdirs; do \
54248
28e8d2c26aa1 (setwins, setwins_almost): Skip .arch-ids and other hidden files/directories.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 54244
diff changeset
70 case $$file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=* ) ;; \
54632
e2815226989d (setwins, setwins_almost): Change directory to $wd
Kenichi Handa <handa@m17n.org>
parents: 54248
diff changeset
71 *) wins="$$wins $$wd/$$file" ;; \
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
72 esac; \
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
73 done
38819
87937c18338f (finder_setwins): Renamed from nonobsolete_setwins.
Gerd Moellmann <gerd@gnu.org>
parents: 38796
diff changeset
74
54632
e2815226989d (setwins, setwins_almost): Change directory to $wd
Kenichi Handa <handa@m17n.org>
parents: 54248
diff changeset
75 setwins_almost=subdirs=`(cd $$wd; find . -type d -print)`; \
37275
9a3f00ed6c43 (nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents: 36918
diff changeset
76 for file in $$subdirs; do \
54248
28e8d2c26aa1 (setwins, setwins_almost): Skip .arch-ids and other hidden files/directories.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 54244
diff changeset
77 case $$file in */Old | */RCS | */CVS | */CVS/* | */.* | */.*/* | */=* | */obsolete | */term ) ;; \
54632
e2815226989d (setwins, setwins_almost): Change directory to $wd
Kenichi Handa <handa@m17n.org>
parents: 54248
diff changeset
78 *) wins="$$wins $$wd/$$file" ;; \
37275
9a3f00ed6c43 (nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents: 36918
diff changeset
79 esac; \
9a3f00ed6c43 (nonobsolete_setwins): New macro.
Gerd Moellmann <gerd@gnu.org>
parents: 36918
diff changeset
80 done
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
81
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
82 doit:
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
83
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
84 $(lisp)/cus-load.el:
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
85 touch $@
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
86 custom-deps: $(lisp)/cus-load.el doit
48471
ea89037b6852 (setwins_almost): Renamed from finder_setwins.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48006
diff changeset
87 wd=$(lisp); $(setwins_almost); \
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
88 echo Directories: $$wins; \
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
89 $(EMACS) $(EMACSOPT) -l cus-dep --eval '(setq generated-custom-dependencies-file "$(lisp)/cus-load.el")' -f custom-make-dependencies $$wins
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
90
44106
748924636cc4 (finder-inf.el): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 44080
diff changeset
91 finder-data: doit
48471
ea89037b6852 (setwins_almost): Renamed from finder_setwins.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48006
diff changeset
92 wd=$(lisp); $(setwins_almost); \
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
93 echo Directories: $$wins; \
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
94 $(EMACS) $(EMACSOPT) -l finder --eval '(setq generated-finder-keywords-file "$(lisp)/finder-inf.el")' -f finder-compile-keywords-make-dist $$wins
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
95
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
96 $(lisp)/loaddefs.el:
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
97 echo ";;; loaddefs.el --- automatically extracted autoloads" >> $@
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
98 echo ";;" >> $@; echo ";;; Code:" >> $@
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
99 echo " " >> $@
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
100 echo ";;; Local Variables:" >> $@
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
101 echo ";;; version-control: never" >> $@
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
102 echo ";;; no-byte-compile: t" >> $@
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
103 echo ";;; no-update-autoloads: t" >> $@
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
104 echo ";;; End:" >> $@
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
105 echo ";;; loaddefs.el ends here" >> $@
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
106 autoloads: $(lisp)/loaddefs.el doit
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
107 wd=$(lisp); $(setwins); \
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
108 echo Directories: $$wins; \
33505
2b0399706883 (custom-deps, finder-data, autoloads, recompile): Don't set EMACSLOADPATH.
Eli Zaretskii <eliz@gnu.org>
parents: 33158
diff changeset
109 $(EMACS) $(EMACSOPT) -l autoload --eval '(setq generated-autoload-file "$(lisp)/loaddefs.el")' -f batch-update-autoloads $$wins
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
110
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
111 $(lisp)/subdirs.el:
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
112 $(MAKE) $(MFLAGS) update-subdirs
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
113 update-subdirs: doit
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
114 wd=$(lisp); $(setwins); \
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
115 for file in $$wins; do \
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
116 $(srcdir)/update-subdirs $$file; \
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
117 done;
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
118
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
119 updates: update-subdirs autoloads finder-data custom-deps
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
120
32884
f677903fb663 (update-authors): New target for maintenance
Gerd Moellmann <gerd@gnu.org>
parents: 31379
diff changeset
121 # Update the AUTHORS file.
f677903fb663 (update-authors): New target for maintenance
Gerd Moellmann <gerd@gnu.org>
parents: 31379
diff changeset
122
f677903fb663 (update-authors): New target for maintenance
Gerd Moellmann <gerd@gnu.org>
parents: 31379
diff changeset
123 update-authors:
61526
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
124 $(emacs) -l authors -f batch-update-authors $(srcdir)/AUTHORS $(srcdir)
32884
f677903fb663 (update-authors): New target for maintenance
Gerd Moellmann <gerd@gnu.org>
parents: 31379
diff changeset
125
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
126 TAGS: $(lisptagsfiles1) $(lisptagsfiles2)
53972
2627b0171f3d (TAGS, TAGS-LISP): Filter out of `els' only loaddefs* and ldefs-boot*.
Eli Zaretskii <eliz@is.elta.co.il>
parents: 53941
diff changeset
127 els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \
38653
8b46b3446482 (TAGS, TAGS-LISP): Exclude loaddefs.el.
Gerd Moellmann <gerd@gnu.org>
parents: 37678
diff changeset
128 ${ETAGS} $$els
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
129
30095
96039cc24acf (TAGS-LISP): Don't use `$(lispsource)'.
Gerd Moellmann <gerd@gnu.org>
parents: 30084
diff changeset
130 TAGS-LISP: $(lisptagsfiles1) $(lisptagsfiles2)
53972
2627b0171f3d (TAGS, TAGS-LISP): Filter out of `els' only loaddefs* and ldefs-boot*.
Eli Zaretskii <eliz@is.elta.co.il>
parents: 53941
diff changeset
131 els=`echo $(lisptagsfiles1) $(lisptagsfiles2) | sed -e "s,$(lisp)/loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \
38653
8b46b3446482 (TAGS, TAGS-LISP): Exclude loaddefs.el.
Gerd Moellmann <gerd@gnu.org>
parents: 37678
diff changeset
132 ${ETAGS} -o TAGS-LISP $$els
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
133
33667
646b893652e6 (.SUFFIXES): Add .SUFFIXES.
Gerd Moellmann <gerd@gnu.org>
parents: 33626
diff changeset
134 .SUFFIXES: .elc .el
646b893652e6 (.SUFFIXES): Add .SUFFIXES.
Gerd Moellmann <gerd@gnu.org>
parents: 33626
diff changeset
135
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
136 .el.elc: $(lisp)/subdirs.el
33158
075e5f998739 * Makefile.in (emacs): Set EMACSLOADPATH always.
Ken Raeburn <raeburn@raeburn.org>
parents: 32884
diff changeset
137 -$(emacs) -f batch-byte-compile $<
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
138
61526
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
139 # Compile all Lisp files, but don't recompile those that are up to
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
140 # date. Some files don't actually get compiled because they set the
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
141 # local variable no-byte-compile.
43026
7c4834964c35 (compile): New target.
Richard M. Stallman <rms@gnu.org>
parents: 42946
diff changeset
142
61526
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
143 # All .elc files are made writable before compilation in case we
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
144 # checked out read-only (CVS option -r). Files MUST be compiled one by
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
145 # one. If we compile several files in a row we can't make sure that
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
146 # the compilation environment is clean. We also set the load-path of
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
147 # the Emacs used for compilation to the current directory and its
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
148 # subdirectories, to make sure require's and load's in the files being
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
149 # compiled find the right files.
44106
748924636cc4 (finder-inf.el): Remove.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 44080
diff changeset
150
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
151 compile: $(lisp)/subdirs.el doit
43026
7c4834964c35 (compile): New target.
Richard M. Stallman <rms@gnu.org>
parents: 42946
diff changeset
152 find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1; \
7c4834964c35 (compile): New target.
Richard M. Stallman <rms@gnu.org>
parents: 42946
diff changeset
153 wd=$(lisp); $(setwins); \
61526
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
154 els=`echo $$wins | tr ' \011' '\012\012' | \
43026
7c4834964c35 (compile): New target.
Richard M. Stallman <rms@gnu.org>
parents: 42946
diff changeset
155 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \
7c4834964c35 (compile): New target.
Richard M. Stallman <rms@gnu.org>
parents: 42946
diff changeset
156 for el in $(COMPILE_FIRST) $$els; do \
44174
f41b79ef76f5 (compile, compile-always): Don't try to compile
Eli Zaretskii <eliz@gnu.org>
parents: 44106
diff changeset
157 if test -f $$el; \
f41b79ef76f5 (compile, compile-always): Don't try to compile
Eli Zaretskii <eliz@gnu.org>
parents: 44106
diff changeset
158 then \
f41b79ef76f5 (compile, compile-always): Don't try to compile
Eli Zaretskii <eliz@gnu.org>
parents: 44106
diff changeset
159 echo Compiling $$el; \
58345
29561dbc0629 (recompile): Revert 2004-11-19 change.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 58341
diff changeset
160 $(emacs) -f batch-byte-compile-if-not-done $$el || exit 1; \
44174
f41b79ef76f5 (compile, compile-always): Don't try to compile
Eli Zaretskii <eliz@gnu.org>
parents: 44106
diff changeset
161 fi \
43026
7c4834964c35 (compile): New target.
Richard M. Stallman <rms@gnu.org>
parents: 42946
diff changeset
162 done
7c4834964c35 (compile): New target.
Richard M. Stallman <rms@gnu.org>
parents: 42946
diff changeset
163
61526
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
164 # Compile all Lisp files. This is like `compile' but compiles files
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
165 # unconditionally. Some files don't actually get compiled because they
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
166 # set the local variable no-byte-compile.
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
167
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
168 compile-always: $(lisp)/subdirs.el doit
48006
9fb2295753ce Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 48005
diff changeset
169 # `|| true' prevents old Bash versions from getting confused
9fb2295753ce Comment change.
Richard M. Stallman <rms@gnu.org>
parents: 48005
diff changeset
170 # by an error.
48005
93d886a02ac0 (compile-always): Avoid error in old Bash versions.
Richard M. Stallman <rms@gnu.org>
parents: 47536
diff changeset
171 find $(lisp) -name "*.elc" -print | xargs chmod +w >/dev/null 2>&1 || true; \
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
172 wd=$(lisp); $(setwins); \
61526
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
173 els=`echo $$wins | tr ' \011' '\012\012' | \
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
174 sed -e 's|\(.\)$$|\1/|' -e 's|^\./||' -e 's|$$|*.el|'`; \
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
175 for el in $(COMPILE_FIRST) $$els; do \
44174
f41b79ef76f5 (compile, compile-always): Don't try to compile
Eli Zaretskii <eliz@gnu.org>
parents: 44106
diff changeset
176 if test -f $$el; \
f41b79ef76f5 (compile, compile-always): Don't try to compile
Eli Zaretskii <eliz@gnu.org>
parents: 44106
diff changeset
177 then \
f41b79ef76f5 (compile, compile-always): Don't try to compile
Eli Zaretskii <eliz@gnu.org>
parents: 44106
diff changeset
178 echo Compiling $$el; \
f41b79ef76f5 (compile, compile-always): Don't try to compile
Eli Zaretskii <eliz@gnu.org>
parents: 44106
diff changeset
179 $(emacs) -f batch-byte-compile $$el || exit 1; \
f41b79ef76f5 (compile, compile-always): Don't try to compile
Eli Zaretskii <eliz@gnu.org>
parents: 44106
diff changeset
180 fi \
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
181 done
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
182
49597
e88404e8f2cf Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 49382
diff changeset
183 compile-calc:
48993
b23fb6dc0915 Generate cus-load.el and finder-inf.el in the
Andreas Schwab <schwab@suse.de>
parents: 48471
diff changeset
184 for el in `find $(lisp)/calc -name '*.el'`; do \
41408
eb28aac7bdd1 (finder_setwins, setwins): Include Calc again.
Colin Walters <walters@gnu.org>
parents: 40874
diff changeset
185 echo Compiling $$el; \
eb28aac7bdd1 (finder_setwins, setwins): Include Calc again.
Colin Walters <walters@gnu.org>
parents: 40874
diff changeset
186 $(emacs) -f batch-byte-compile $$el || exit 1; \
eb28aac7bdd1 (finder_setwins, setwins): Include Calc again.
Colin Walters <walters@gnu.org>
parents: 40874
diff changeset
187 done
eb28aac7bdd1 (finder_setwins, setwins): Include Calc again.
Colin Walters <walters@gnu.org>
parents: 40874
diff changeset
188
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
189 # Backup compiled Lisp files in elc.tar.gz. If that file already
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
190 # exists, make a backup of it.
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
191
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
192 backup-compiled-files:
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
193 -mv $(lisp)/elc.tar.gz $(lisp)/elc.tar.gz~
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
194 -tar czf $(lisp)/elc.tar.gz $(lisp)/*.elc $(lisp)/*/*.elc
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
195
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
196 # Compile Lisp files, but save old compiled files first.
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
197
43026
7c4834964c35 (compile): New target.
Richard M. Stallman <rms@gnu.org>
parents: 42946
diff changeset
198 compile-after-backup: backup-compiled-files compile-always
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
199
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
200 # Recompile all Lisp files which are newer than their .elc files.
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
201 # Note that this doesn't create .elc files. It only recompiles if an
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
202 # .elc is present.
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
203
53941
f381d8277172 * Makefile.in: Fixed the CC Mode recompile kludge so it works
Martin Stjernholm <mast@lysator.liu.se>
parents: 53892
diff changeset
204 recompile: doit $(lisp)/progmodes/cc-mode.elc
58345
29561dbc0629 (recompile): Revert 2004-11-19 change.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 58341
diff changeset
205 $(EMACS) $(EMACSOPT) --eval "(batch-byte-recompile-directory 0)" $(lisp)
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
206
53892
f3098a6fd4f0 Added extra dependencies in the recompile target needed to cope with
Martin Stjernholm <mast@lysator.liu.se>
parents: 53015
diff changeset
207 # CC Mode uses a compile time macro system which causes a compile time
f3098a6fd4f0 Added extra dependencies in the recompile target needed to cope with
Martin Stjernholm <mast@lysator.liu.se>
parents: 53015
diff changeset
208 # dependency in cc-mode.elc on the macros in cc-langs.el and the
f3098a6fd4f0 Added extra dependencies in the recompile target needed to cope with
Martin Stjernholm <mast@lysator.liu.se>
parents: 53015
diff changeset
209 # version string in cc-defs.el.
53941
f381d8277172 * Makefile.in: Fixed the CC Mode recompile kludge so it works
Martin Stjernholm <mast@lysator.liu.se>
parents: 53892
diff changeset
210 $(lisp)/progmodes/cc-mode.elc: \
f381d8277172 * Makefile.in: Fixed the CC Mode recompile kludge so it works
Martin Stjernholm <mast@lysator.liu.se>
parents: 53892
diff changeset
211 $(lisp)/progmodes/cc-mode.el \
f381d8277172 * Makefile.in: Fixed the CC Mode recompile kludge so it works
Martin Stjernholm <mast@lysator.liu.se>
parents: 53892
diff changeset
212 $(lisp)/progmodes/cc-langs.el \
f381d8277172 * Makefile.in: Fixed the CC Mode recompile kludge so it works
Martin Stjernholm <mast@lysator.liu.se>
parents: 53892
diff changeset
213 $(lisp)/progmodes/cc-defs.el
f381d8277172 * Makefile.in: Fixed the CC Mode recompile kludge so it works
Martin Stjernholm <mast@lysator.liu.se>
parents: 53892
diff changeset
214 $(EMACS) $(EMACSOPT) -f batch-byte-compile $(lisp)/progmodes/cc-mode.el
53892
f3098a6fd4f0 Added extra dependencies in the recompile target needed to cope with
Martin Stjernholm <mast@lysator.liu.se>
parents: 53015
diff changeset
215
52505
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
216 # Prepare a bootstrap in the lisp subdirectory.
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
217 #
63338
9f31ece48b49 (bootstrap-prepare): Don't use an old loaddefs.el.
Lute Kamstra <lute@gnu.org>
parents: 61526
diff changeset
218 # Build loaddefs.el to make sure it's up-to-date. If it's not, that
9f31ece48b49 (bootstrap-prepare): Don't use an old loaddefs.el.
Lute Kamstra <lute@gnu.org>
parents: 61526
diff changeset
219 # might lead to errors during the bootstrap because something fails to
9f31ece48b49 (bootstrap-prepare): Don't use an old loaddefs.el.
Lute Kamstra <lute@gnu.org>
parents: 61526
diff changeset
220 # autoload as expected. If there is no emacs binary, then we can't
65010
e654d00374e0 Expand comment about building loaddefs.el.
Luc Teirlinck <teirllm@auburn.edu>
parents: 64769
diff changeset
221 # build autoloads yet. In that case we have to use ldefs-boot.el.
e654d00374e0 Expand comment about building loaddefs.el.
Luc Teirlinck <teirllm@auburn.edu>
parents: 64769
diff changeset
222 # Bootstrap should always work with ldefs-boot.el. Therefore,
e654d00374e0 Expand comment about building loaddefs.el.
Luc Teirlinck <teirllm@auburn.edu>
parents: 64769
diff changeset
223 # whenever a new autoload cookie gets added that is necessary during
e654d00374e0 Expand comment about building loaddefs.el.
Luc Teirlinck <teirllm@auburn.edu>
parents: 64769
diff changeset
224 # bootstrapping, ldefs-boot.el should be updated by overwriting it with
e654d00374e0 Expand comment about building loaddefs.el.
Luc Teirlinck <teirllm@auburn.edu>
parents: 64769
diff changeset
225 # an up-to-date copy of loaddefs.el that is uncorrupted by
e654d00374e0 Expand comment about building loaddefs.el.
Luc Teirlinck <teirllm@auburn.edu>
parents: 64769
diff changeset
226 # local changes. (Because loaddefs.el is an automatically generated
e654d00374e0 Expand comment about building loaddefs.el.
Luc Teirlinck <teirllm@auburn.edu>
parents: 64769
diff changeset
227 # file, we don't want to store it in the source repository).
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
228
54244
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
229 bootstrap-prepare:
52505
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
230 if test -x $(EMACS); then \
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
231 $(MAKE) $(MFLAGS) autoloads; \
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
232 else \
63338
9f31ece48b49 (bootstrap-prepare): Don't use an old loaddefs.el.
Lute Kamstra <lute@gnu.org>
parents: 61526
diff changeset
233 cp $(lisp)/ldefs-boot.el $(lisp)/loaddefs.el; \
52505
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
234 fi
54244
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
235
58080
c3a97f7b64f5 * Makefile.in (maintainer-clean): Depend on distclean.
Jan Djärv <jan.h.d@swipnet.se>
parents: 58020
diff changeset
236 maintainer-clean: distclean
54244
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
237 cd $(lisp); rm -f *.elc */*.elc $(AUTOGENEL)
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
238
58020
95969b0d9f39 (bootstrap-clean): New target for 'make bootstrap'.
Kim F. Storm <storm@cua.dk>
parents: 56026
diff changeset
239 bootstrap-clean:
95969b0d9f39 (bootstrap-clean): New target for 'make bootstrap'.
Kim F. Storm <storm@cua.dk>
parents: 56026
diff changeset
240 cd $(lisp); rm -f *.elc */*.elc
95969b0d9f39 (bootstrap-clean): New target for 'make bootstrap'.
Kim F. Storm <storm@cua.dk>
parents: 56026
diff changeset
241
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
242 # Generate/update files for the bootstrap process.
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
243
49382
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
244 bootstrap: update-subdirs autoloads compile
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
245
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
246 # Generate/update files after the bootstrap process.
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
247 # custom-deps needs `preloaded-file-list'.
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
248
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
249 bootstrap-after: finder-data custom-deps
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
250
29703
170ce838593c (distclean): New target.
Gerd Moellmann <gerd@gnu.org>
parents: 29679
diff changeset
251 distclean:
42222
2f835f4a8ef8 (distclean): Remove Makefile in the build directory, not in the source
Eli Zaretskii <eliz@gnu.org>
parents: 42147
diff changeset
252 -rm -f ./Makefile
29703
170ce838593c (distclean): New target.
Gerd Moellmann <gerd@gnu.org>
parents: 29679
diff changeset
253
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
254 # Makefile ends here.