annotate lisp/Makefile.in @ 63308:51d38cfbe542

Warn about using "cvs up -kb" if one intends to commit changes. Add a pointer to another site with detailed configure and build instructions. Suggest to look at config.log when configure fails. Add MinGW Make 3.80 to the list of successful combinations.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 11 Jun 2005 11:31:29 +0000
parents 2864a2154c8d
children 9f31ece48b49 2c2b97b30980 146c086df160
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
61526
2864a2154c8d (DONTCOMPILE): Remove list.
Lute Kamstra <lute@gnu.org>
parents: 58345
diff changeset
2 # Copyright (C) 2000, 2001, 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
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
18 # the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
c8fb06423da0 Add copyright notice.
Gerd Moellmann <gerd@gnu.org>
parents: 35605
diff changeset
19 # Boston, MA 02111-1307, 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 #
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
218 # Build loaddefs.el, because it's not sure it's up-to-date, and if it's not,
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
219 # that might lead to errors during the bootstrap because something fails to
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
220 # autoload as expected. However, if there is no emacs binary, then we can't
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
221 # build autoloads yet, so just make sure there's some loaddefs.el file, as
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
222 # it's necessary for generating the binary (because loaddefs.el is an
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
223 # automatically generated file, we don't want to store it in the source
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
224 # repository).
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
225
54244
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
226 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
227 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
228 $(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
229 else \
52588
916aeb134a46 (bootstrap-clean): Fix misplaced `!'.
Dave Love <fx@gnu.org>
parents: 52505
diff changeset
230 if test ! -r $(lisp)/loaddefs.el; then \
52748
5bc5adc78004 (DONTCOMPILE, bootstrap-clean): Rename
Eli Zaretskii <eliz@gnu.org>
parents: 52588
diff changeset
231 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
232 fi \
88edef684d4c Revision: miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-44
Miles Bader <miles@gnu.org>
parents: 52401
diff changeset
233 fi
54244
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
234
58080
c3a97f7b64f5 * Makefile.in (maintainer-clean): Depend on distclean.
Jan Djärv <jan.h.d@swipnet.se>
parents: 58020
diff changeset
235 maintainer-clean: distclean
54244
9df8cecf70d2 (AUTOGENEL): New var.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 53972
diff changeset
236 cd $(lisp); rm -f *.elc */*.elc $(AUTOGENEL)
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
237
58020
95969b0d9f39 (bootstrap-clean): New target for 'make bootstrap'.
Kim F. Storm <storm@cua.dk>
parents: 56026
diff changeset
238 bootstrap-clean:
95969b0d9f39 (bootstrap-clean): New target for 'make bootstrap'.
Kim F. Storm <storm@cua.dk>
parents: 56026
diff changeset
239 cd $(lisp); rm -f *.elc */*.elc
95969b0d9f39 (bootstrap-clean): New target for 'make bootstrap'.
Kim F. Storm <storm@cua.dk>
parents: 56026
diff changeset
240
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
241 # Generate/update files for the bootstrap process.
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
242
49382
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
243 bootstrap: update-subdirs autoloads compile
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
244
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
245 # Generate/update files after the bootstrap process.
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
246 # custom-deps needs `preloaded-file-list'.
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
247
8a3c38e8fdae (bootstrap-after): New target.
Markus Rost <rost@math.uni-bielefeld.de>
parents: 48993
diff changeset
248 bootstrap-after: finder-data custom-deps
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
249
29703
170ce838593c (distclean): New target.
Gerd Moellmann <gerd@gnu.org>
parents: 29679
diff changeset
250 distclean:
42222
2f835f4a8ef8 (distclean): Remove Makefile in the build directory, not in the source
Eli Zaretskii <eliz@gnu.org>
parents: 42147
diff changeset
251 -rm -f ./Makefile
29703
170ce838593c (distclean): New target.
Gerd Moellmann <gerd@gnu.org>
parents: 29679
diff changeset
252
29657
cdef08609770 *** empty log message ***
Gerd Moellmann <gerd@gnu.org>
parents:
diff changeset
253 # Makefile ends here.