(rng-preferred-prefix-alist): Add dublin core namespaces.
[bpt/emacs.git] / src / Makefile.in
CommitLineData
a0528984 1# Makefile for GNU Emacs.
0b5538bd 2# Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002,
8cabe764
GM
3# 2003, 2004, 2005, 2006, 2007, 2008
4# Free Software Foundation, Inc.
a0528984
EZ
5
6# This file is part of GNU Emacs.
7
8# GNU Emacs is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
684d6f5b 10# the Free Software Foundation; either version 3, or (at your option)
a0528984
EZ
11# any later version.
12
13# GNU Emacs is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU General Public License for more details.
17
18# You should have received a copy of the GNU General Public License
19# along with GNU Emacs; see the file COPYING. If not, write to
4fc5845f
LK
20# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
21# Boston, MA 02110-1301, USA.
a0528984
EZ
22
23
24# Note that this file is edited by msdos/sed1v2.inp for MSDOS. That
25# script may need modifying in sync with changes made here. Try to
26# avoid shell-ism because the DOS build has to use the DOS shell.
27
5f351ff1 28# Don't try to replace the cpp processing using autoconf facilities,
a0528984 29# says rms.
deeaffe1
DN
30# Replacing a particular part of the conditionals to work via autoconf
31# is OK.
32# Some of the conditionals might be dead now. Finding them and
33# deleting them would be fine.
34
a0528984
EZ
35
36# Here are the things that we expect ../configure to edit.
37# We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
38srcdir=@srcdir@
39VPATH=@srcdir@
40CC=@CC@
41CPP=@CPP@
42CFLAGS=@CFLAGS@
43CPPFLAGS=@CPPFLAGS@
44LDFLAGS=@LDFLAGS@
45LN_S=@LN_S@
108c7c97 46EXEEXT=@EXEEXT@
4a3363c5 47version=@version@
a0528984
EZ
48# Substitute an assignment for the MAKE variable, because
49# BSD doesn't have it as a default.
50@SET_MAKE@
51# Don't use LIBS. configure puts stuff in it that either shouldn't be
52# linked with Emacs or is duplicated by the cpp stuff below.
53# LIBS = @LIBS@
54LIBOBJS = @LIBOBJS@
55
56# On Xenix and the IBM RS6000, double-dot gets screwed up.
57dot = .
58dotdot = ${dot}${dot}
59lispsource = ${srcdir}/$(dot)$(dot)/lisp/
462a725d 60admindir = $(srcdir)/$(dot)$(dot)/admin/
a0528984
EZ
61libsrc = $(dot)$(dot)/lib-src/
62etc = $(dot)$(dot)/etc/
63oldXMenudir = $(dot)$(dot)/oldXMenu/
64lwlibdir = $(dot)$(dot)/lwlib/
99b7e543 65lispdir = $(dot)$(dot)/lisp/
a0528984
EZ
66
67# Configuration files for .o files to depend on.
68M_FILE = ${srcdir}/@machfile@
69S_FILE = ${srcdir}/@opsysfile@
70config_h = config.h $(M_FILE) $(S_FILE)
71
72# ========================== start of cpp stuff =======================
73/* From here on, comments must be done in C syntax. */
74
75C_SWITCH_SYSTEM=
76
77/* just to be sure the sh is used */
78SHELL=/bin/sh
79
80#define THIS_IS_MAKEFILE
a0528984
EZ
81#define NOT_C_CODE
82#include "config.h"
83
be9b5a60 84/* Do not let the file name mktime.c get messed up. */
a0528984
EZ
85#ifdef mktime
86#undef mktime
87#endif
88
89/* Use HAVE_X11 as an alias for X11 in this file
90 to avoid problems with X11 as a subdirectory name
91 in -I and other such options which pass through this file. */
92
93#ifdef X11
94#define HAVE_X11
95#undef X11
96#endif
97
98/* On some machines #define register is done in config;
be9b5a60 99 do not let it interfere with this file. */
a0528984
EZ
100#undef register
101
102/* On some systems we may not be able to use the system make command. */
103#ifdef MAKE_COMMAND
104MAKE = MAKE_COMMAND
105#endif
106
a0528984 107/* GNU libc requires ORDINARY_LINK so that its own crt0 is used.
09fcea18 108 GNU/Linux is an exception because it uses a funny variant of GNU libc. */
a0528984 109#ifdef __GNU_LIBRARY__
8a2a6032 110#ifndef GNU_LINUX
a0528984
EZ
111#define ORDINARY_LINK
112#endif
113#endif
114
be9b5a60 115/* Some machines do not find the standard C libraries in the usual place. */
a0528984
EZ
116#ifndef ORDINARY_LINK
117#ifndef LIB_STANDARD
118#define LIB_STANDARD -lc
119#endif
120#else
121#ifndef LIB_STANDARD
122#define LIB_STANDARD
123#endif
124#endif
125
126/* Unless inhibited or changed, use -lg to link for debugging. */
127#ifndef LIBS_DEBUG
128#define LIBS_DEBUG -lg
129#endif
130
131/* Some s/SYSTEM.h files define this to request special libraries. */
132#ifndef LIBS_SYSTEM
133#define LIBS_SYSTEM
134#endif
135
136/* Some m/MACHINE.h files define this to request special libraries. */
137#ifndef LIBS_MACHINE
138#define LIBS_MACHINE
139#endif
140
141#ifndef LIB_MATH
142# define LIB_MATH -lm
143#endif /* LIB_MATH */
144
145/* Some s/SYSTEM.h files define this to request special switches in ld. */
146#ifndef LD_SWITCH_SYSTEM
deeaffe1 147#if !defined (__GNUC__) && ((defined (BSD_SYSTEM) && !defined (COFF)))
a0528984 148#define LD_SWITCH_SYSTEM -X
deeaffe1 149#else /* (defined (BSD_SYSTEM) && !defined (COFF)) */
a0528984 150#define LD_SWITCH_SYSTEM
deeaffe1 151#endif /* (defined (BSD_SYSTEM) && !defined (COFF)) */
a0528984
EZ
152#endif /* LD_SWITCH_SYSTEM */
153
154/* This holds special options for linking temacs
155 that should be used for linking anything else. */
156#ifndef LD_SWITCH_SYSTEM_TEMACS
157#define LD_SWITCH_SYSTEM_TEMACS
158#endif
159
e0f712ba
AC
160/* Some s/SYSTEM.h files define this to request special switches
161 for compiling temacs. */
162#ifndef C_SWITCH_SYSTEM_TEMACS
163#define C_SWITCH_SYSTEM_TEMACS
164#endif
165
a0528984
EZ
166/* Some m/MACHINE.h files define this to request special switches in ld. */
167#ifndef LD_SWITCH_MACHINE
168#define LD_SWITCH_MACHINE
169#endif
170
171/* This holds special options for linking temacs
172 that should be used for linking anything else. */
173#ifndef LD_SWITCH_MACHINE_TEMACS
174#define LD_SWITCH_MACHINE_TEMACS
175#endif
176
177/* Some m/MACHINE.h files define this to request special switches in cc. */
178#ifndef C_SWITCH_MACHINE
179#define C_SWITCH_MACHINE
180#endif
181
182/* Some s/SYSTEM.h files define this to request special switches in cc. */
183#ifndef C_SWITCH_SYSTEM
184#define C_SWITCH_SYSTEM
185#endif
186
187/* These macros are for switches specifically related to X Windows. */
188#ifndef C_SWITCH_X_MACHINE
189#define C_SWITCH_X_MACHINE
190#endif
191
192#ifndef C_SWITCH_X_SYSTEM
193#define C_SWITCH_X_SYSTEM
194#endif
195
196#ifndef C_SWITCH_X_SITE
197#define C_SWITCH_X_SITE
198#endif
199
200#ifndef LD_SWITCH_X_SITE
201#define LD_SWITCH_X_SITE
202#endif
203
204#ifndef LD_SWITCH_X_DEFAULT
205#define LD_SWITCH_X_DEFAULT
206#endif
207
208/* These can be passed in from config.h to define special load and
209 compile switches needed by individual sites */
210#ifndef LD_SWITCH_SITE
211#define LD_SWITCH_SITE
212#endif
213
214#ifndef C_SWITCH_SITE
215#define C_SWITCH_SITE
216#endif
217
218#ifndef ORDINARY_LINK
219
220#ifndef CRT0_COMPILE
4624371d 221#define CRT0_COMPILE $(CC) -c $(ALL_CFLAGS)
a0528984
EZ
222#endif
223
224#ifndef START_FILES
225#ifdef NO_REMAP
a0528984 226#define START_FILES pre-crt0.o /lib/crt0.o
a0528984
EZ
227#else /* ! defined (NO_REMAP) */
228#define START_FILES ecrt0.o
229#endif /* ! defined (NO_REMAP) */
230#endif /* START_FILES */
231STARTFILES = START_FILES
232
233#else /* ORDINARY_LINK */
234
235/* config.h might want to force START_FILES anyway */
236#ifdef START_FILES
237STARTFILES = START_FILES
238#endif /* START_FILES */
239
240#endif /* not ORDINARY_LINK */
241
242
488dd4c4
JD
243#if HAVE_GTK
244#define USE_GTK
245TOOLKIT_DEFINES = -DUSE_GTK
246#endif
247
a0528984
EZ
248#ifdef USE_X_TOOLKIT
249#define USE_@X_TOOLKIT_TYPE@
250TOOLKIT_DEFINES = -DUSE_@X_TOOLKIT_TYPE@
251#else
488dd4c4 252#ifndef USE_GTK
a0528984
EZ
253TOOLKIT_DEFINES =
254#endif
488dd4c4 255#endif
a0528984 256
033b73e2
MA
257#ifdef HAVE_DBUS
258DBUS_CFLAGS = @DBUS_CFLAGS@
259DBUS_LIBS = @DBUS_LIBS@
260DBUS_OBJ = dbusbind.o
261#endif
262
a0528984
EZ
263/* DO NOT use -R. There is a special hack described in lastfile.c
264 which is used instead. Some initialized data areas are modified
265 at initial startup, then labeled as part of the text area when
266 Emacs is dumped for the first time, and never changed again. */
267
268/* -Demacs is needed to make some files produce the correct version
269 for use in Emacs.
270
271 -DHAVE_CONFIG_H is needed for some other files to take advantage of
5aa17bb2 272 the information in ``config.h''. */
a0528984
EZ
273
274/* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM
275 since it may have -I options that should override those two. */
0bd50841 276ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(TOOLKIT_DEFINES) $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${CFLAGS} @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@
a0528984
EZ
277.c.o:
278 $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
279
a0528984
EZ
280#ifndef LIBX11_SYSTEM
281#define LIBX11_SYSTEM
282#endif
283
284#ifndef LIB_X11_LIB
285#define LIB_X11_LIB -lX11
286#endif
287
cbf223e1
EZ
288/* xmenu.c should not be compiled on OSX. */
289#ifndef HAVE_CARBON
290XMENU_OBJ = xmenu.o
291#endif
292
a0528984 293#ifdef HAVE_X_WINDOWS
6b61353c
KH
294
295XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o
296
a0528984
EZ
297#ifdef HAVE_MENUS
298
488dd4c4 299#ifdef USE_GTK
6b61353c 300GTK_OBJ= gtkutil.o
488dd4c4 301#endif
a0528984
EZ
302
303/* The X Menu stuff is present in the X10 distribution, but missing
304 from X11. If we have X10, just use the installed library;
305 otherwise, use our own copy. */
306#ifdef HAVE_X11
307#ifdef USE_X_TOOLKIT
308OLDXMENU=${lwlibdir}liblw.a
309LIBXMENU= $(OLDXMENU)
310#else /* not USE_X_TOOLKIT */
311OLDXMENU= ${oldXMenudir}libXMenu11.a
312LIBXMENU= $(OLDXMENU)
313#endif /* not USE_X_TOOLKIT */
314#else /* not HAVE_X11 */
315LIBXMENU= -lXMenu
316#endif /* not HAVE_X11 */
317
318#else /* not HAVE_MENUS */
319
be9b5a60 320/* Otherwise, do not worry about the menu library at all. */
a0528984
EZ
321LIBXMENU=
322#endif /* not HAVE_MENUS */
323
324#ifdef USE_X_TOOLKIT
325#define @X_TOOLKIT_TYPE@
326#if defined (LUCID) || defined (ATHENA)
327#if HAVE_XAW3D
328LIBW= -lXaw3d
329#else
330LIBW= -lXaw
331#endif
332#endif
333#ifdef MOTIF
334#if defined (HAVE_MOTIF_2_1) && defined (HAVE_LIBXP)
335#define LIB_MOTIF_EXTRA -lXp
336#else
337#define LIB_MOTIF_EXTRA
338#endif
339#ifdef LIB_MOTIF
340LIBW= LIB_MOTIF LIB_MOTIF_EXTRA
341#else
342LIBW= -lXm LIB_MOTIF_EXTRA
343#endif
344#endif
345#ifdef OPEN_LOOK
346LIBW= -lXol
347#endif
348
349#ifdef HAVE_X11XTR6
350#ifdef NEED_LIBW
351LIBXTR6 = -lSM -lICE -lw
352#else
353LIBXTR6 = -lSM -lICE
354#endif
355#endif
356
357#ifndef LIBXMU
358#define LIBXMU -lXmu
359#endif
360
361#ifdef LIBXT_STATIC
362/* We assume the config files have defined STATIC_OPTION
363 since that might depend on the operating system.
be9b5a60 364 (Do not forget you need different definitions with and without __GNUC__.) */
a0528984
EZ
365LIBXT= STATIC_OPTION $(LIBW) LIBXMU -lXt $(LIBXTR6) -lXext DYNAMIC_OPTION
366#else /* not LIBXT_STATIC */
367LIBXT= $(LIBW) LIBXMU -lXt $(LIBXTR6) -lXext
368#endif /* not LIBXT_STATIC */
369
370#else /* not USE_X_TOOLKIT */
488dd4c4
JD
371
372#ifdef USE_GTK
373LIBW=@GTK_LIBS@
374OLDXMENU=
375LIBXMENU=
376#endif /* USE_GTK */
377
618c30cb 378#ifdef HAVE_X_SM
488dd4c4 379LIBXT=$(LIBW) -lSM -lICE
618c30cb 380#else
488dd4c4 381LIBXT=$(LIBW)
618c30cb 382#endif
a0528984
EZ
383#endif /* not USE_X_TOOLKIT */
384
7e660140 385#if HAVE_XFT
8d097e47 386XFT_LIBS=@XFT_LIBS@
7e660140
JD
387#endif /* HAVE_XFT */
388
a0528984
EZ
389#if HAVE_XPM
390#ifndef LIBXPM
391#define LIBXPM -lXpm
392#endif /* not defined LIBXPM */
393#else /* not HAVE_XPM */
394#define LIBXPM
395#endif /* not HAVE_XPM */
396
397#if HAVE_JPEG
398#ifndef LIBJPEG
399#define LIBJPEG -ljpeg
400#endif /* not defined LIBJPEG */
401#else /* not HAVE_JPEG */
402#define LIBJPEG
403#endif /* not HAVE_JPEG */
404
405#if HAVE_PNG
406#ifndef LIBPNG
407#define LIBPNG -lpng -lz -lm
408#endif /* not defined LIBPNG */
409#else /* not HAVE_PNG */
410#define LIBPNG
411#endif /* not HAVE_PNG */
412
413#if HAVE_TIFF
414#ifndef LIBTIFF
415#define LIBTIFF -ltiff
416#endif /* not defined LIBTIFF */
417#else /* not HAVE_TIFF */
418#define LIBTIFF
419#endif /* not HAVE_TIFF */
420
421#if HAVE_GIF
422#ifndef LIBGIF
31840c43 423#define LIBGIF -lgif
a0528984
EZ
424#endif /* not defined LIBGIF */
425#else /* not HAVE_GIF */
426#define LIBGIF
427#endif /* not HAVE_GIF */
428
429#ifdef HAVE_X11
430/* LD_SWITCH_X_DEFAULT comes after everything else that specifies
431 options for where to find X libraries, but before those libraries. */
432X11_LDFLAGS = LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT
4624371d 433LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) LIBTIFF LIBJPEG LIBPNG LIBGIF LIBXPM LIB_X11_LIB LIBX11_SYSTEM $(XFT_LIBS)
a0528984 434#else /* not HAVE_X11 */
c22140f6 435LIBX= $(LIBXMENU) LD_SWITCH_X_SITE
a0528984 436#endif /* not HAVE_X11 */
6b61353c 437#else /* not HAVE_X_WINDOWS */
a0528984
EZ
438#endif /* not HAVE_X_WINDOWS */
439
26114bc0
JD
440#if HAVE_GPM
441#ifndef LIBGPM
442#define LIBGPM -lgpm
443#endif /* not defined LIBGPM */
444#else /* not HAVE_GPM */
445#define LIBGPM
446#endif /* not HAVE_GPM */
447
b5322ed7
CY
448#if HAVE_LIBRESOLV
449#ifndef LIBRESOLV
450#define LIBRESOLV -lresolv
451#endif /* not defined LIBRESOLV */
452#else /* not HAVE_LIBRESOLV */
453#define LIBRESOLV
454#endif /* not HAVE_LIBRESOLV */
26114bc0 455
a0528984 456LIBSOUND= @LIBSOUND@
4900d996 457CFLAGS_SOUND= @CFLAGS_SOUND@
a0528984 458
a1b7773a
YM
459RSVG_LIBS= @RSVG_LIBS@
460RSVG_CFLAGS= @RSVG_CFLAGS@
461
a0528984
EZ
462#ifndef ORDINARY_LINK
463/* Fix linking if compiled with GCC. */
464#ifdef __GNUC__
465
a0528984
EZ
466#ifdef LINKER
467#define LINKER_WAS_SPECIFIED
468#endif
469
470/* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure
471 places that are difficult to figure out at make time. Fortunately,
472 these same versions allow you to pass arbitrary flags on to the
be9b5a60 473 linker, so there is no reason not to use it as a linker.
a0528984 474
be9b5a60 475 Well, it is not quite perfect. The "-nostdlib" keeps GCC from
a0528984
EZ
476 searching for libraries in its internal directories, so we have to
477 ask GCC explicitly where to find libgcc.a. */
478
479#ifndef LINKER
480#define LINKER $(CC) -nostdlib
481#endif
482
483#ifndef LIB_GCC
484/* Ask GCC where to find libgcc.a. */
485#define LIB_GCC `$(CC) -print-libgcc-file-name`
486#endif /* not LIB_GCC */
487
488GNULIB_VAR = LIB_GCC
489
490#ifndef LINKER_WAS_SPECIFIED
491/* GCC passes any argument prefixed with -Xlinker directly to the
be9b5a60 492 linker. See prefix-args.c for an explanation of why we do not do
5aa17bb2 493 this with the shell''s ``for'' construct.
be9b5a60 494 Note that some people do not have '.' in their paths, so we must
a0528984
EZ
495 use ./prefix-args. */
496#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
497#else
498#define YMF_PASS_LDFLAGS(flags) flags
499#endif
500
a0528984
EZ
501#else /* not __GNUC__ */
502GNULIB_VAR =
503
504#endif /* not __GNUC__ */
505#endif /* not ORDINARY_LINK */
506
a0528984
EZ
507#ifdef ORDINARY_LINK
508LD = $(CC)
509#else
a0528984
EZ
510#ifdef LINKER
511LD=LINKER
512#else /* not LINKER */
513LD=ld
514#endif /* not LINKER */
a0528984
EZ
515#endif /* not ORDINARY_LINK */
516
dfe15ea3 517/* Flags to pass to LD only for temacs. */
be9b5a60 518/* Do not split this line with a backslash. That can cause trouble with
afb44cc2
DL
519 some cpps. */
520TEMACS_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE LD_SWITCH_MACHINE_TEMACS LD_SWITCH_SITE
a0528984
EZ
521
522/* A macro which other sections of Makefile can redefine to munge the
be9b5a60 523 flags before they are passed to LD. This is helpful if you have
a0528984
EZ
524 redefined LD to something odd, like "gcc".
525 (The YMF prefix is a holdover from the old name "ymakefile".)
526 */
527#ifndef YMF_PASS_LDFLAGS
528#define YMF_PASS_LDFLAGS(flags) flags
529#endif
530
531/* Allow config.h to specify a replacement file for unexec.c. */
532#ifndef UNEXEC
533#define UNEXEC unexec.o
534#endif
535#ifndef UNEXEC_SRC
536#define UNEXEC_SRC unexec.c
537#endif
538
539INTERVAL_SRC = intervals.h composite.h
540
541GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
542
543#ifdef MSDOS
544#ifdef HAVE_X_WINDOWS
545MSDOS_OBJ = dosfns.o msdos.o
546#else
547MSDOS_OBJ = dosfns.o msdos.o w16select.o
548#endif
549#endif
550
6b61353c
KH
551#ifdef CYGWIN
552CYGWIN_OBJ = sheap.o
553#endif
554
e0f712ba 555#ifdef HAVE_CARBON
ce0669d4 556mac = $(dot)$(dot)/mac/
03cb0f35 557MAC_OBJ = mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o fringe.o image.o
ce0669d4
ST
558emacsapp = $(PWD)/$(mac)Emacs.app/
559emacsappsrc = ${srcdir}/../mac/Emacs.app/
e0f712ba 560#endif
a0528984 561
7de94409 562#ifdef HAVE_WINDOW_SYSTEM
7de94409 563FONTSRC = font.h
ac96711a 564#ifdef USE_FONT_BACKEND
7de94409
KH
565#ifdef HAVE_X_WINDOWS
566#if defined (HAVE_XFT)
567FONTOBJ = font.o xfont.o ftfont.o xftfont.o ftxfont.o
568#elif defined (HAVE_FREETYPE)
569FONTOBJ = font.o xfont.o ftfont.o ftxfont.o
570#else /* ! defined (HAVE_XFT) && ! defined (HAVE_FREETYPE) */
571FONTOBJ = font.o xfont.o
572#endif /* ! defined (HAVE_XFT) && ! defined (HAVE_FREETYPE) */
573#else /* ! HAVE_X_WINDOWS */
574FONTOBJ = font.o
575#endif /* ! HAVE_X_WINDOWS */
ac96711a
KH
576#else /* ! USE_FONT_BACKEND */
577FONTOBJ = font.o
578#endif /* ! USE_FONT_BACKEND */
7de94409
KH
579#endif /* HAVE_WINDOW_SYSTEM */
580
a0528984
EZ
581/* lastfile must follow all files
582 whose initialized data areas should be dumped as pure by dump-emacs. */
e0f712ba 583obj= dispnew.o frame.o scroll.o xdisp.o $(XMENU_OBJ) window.o \
8f924df7 584 charset.o coding.o category.o ccl.o character.o chartab.o \
033b73e2 585 cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \
a0528984
EZ
586 emacs.o keyboard.o macros.o keymap.o sysdep.o \
587 buffer.o filelock.o insdel.o marker.o \
588 minibuf.o fileio.o dired.o filemode.o \
589 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
590 alloc.o data.o doc.o editfns.o callint.o \
591 eval.o floatfns.o fns.o print.o lread.o \
e047f448 592 syntax.o UNEXEC bytecode.o \
a0528984
EZ
593 process.o callproc.o \
594 region-cache.o sound.o atimer.o \
595 doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \
7de94409 596 $(MSDOS_OBJ) $(MAC_OBJ) $(CYGWIN_OBJ) $(FONTOBJ)
a0528984
EZ
597
598/* Object files used on some machine or other.
599 These go in the DOC file on all machines
600 in case they are needed there. */
04a697fe 601SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
d87a9ab8 602 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
03cb0f35 603 mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o \
d87a9ab8 604 w32.o w32bdf.o w32console.o w32fns.o w32heap.o w32inevt.o \
7de94409 605 w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o $(FONTOBJ)
a0528984
EZ
606
607
608#ifdef TERMINFO
609/* Used to be -ltermcap here. If your machine needs that,
610 define LIBS_TERMCAP in the m/MACHINE.h file. */
611#ifndef LIBS_TERMCAP
612#define LIBS_TERMCAP -lcurses
613#endif /* LIBS_TERMCAP */
614termcapobj = terminfo.o
615#else /* ! defined (TERMINFO) */
616#ifndef LIBS_TERMCAP
617#define LIBS_TERMCAP
618termcapobj = termcap.o tparam.o
619#else /* LIBS_TERMCAP */
620termcapobj = tparam.o
621#endif /* LIBS_TERMCAP */
622#endif /* ! defined (TERMINFO) */
623
624
625#ifndef SYSTEM_MALLOC
626
2fa0eedf
RS
627#ifndef DOUG_LEA_MALLOC
628gmallocobj = gmalloc.o
629#endif
630
a0528984 631#ifdef REL_ALLOC
2fa0eedf
RS
632rallocobj = ralloc.o
633#endif
634
635mallocobj = $(gmallocobj) $(rallocobj) vm-limit.o
a0528984
EZ
636
637#endif /* SYSTEM_MALLOC */
638
639
a0528984
EZ
640#ifdef USE_X_TOOLKIT
641widgetobj= widget.o
642#else /* not USE_X_TOOLKIT */
643widgetobj=
644#endif /* not USE_X_TOOLKIT */
645
646
647/* define otherobj as list of object files that make-docfile
648 should not be told about. */
6b61353c
KH
649#ifdef CYGWIN
650/* Cygwin differs because of its unexec(). */
67d20687 651otherobj= $(termcapobj) $(gmallocobj) $(rallocobj) lastfile.o vm-limit.o $(widgetobj) $(LIBOBJS)
6b61353c 652#else
67d20687 653otherobj= $(termcapobj) lastfile.o $(mallocobj) $(widgetobj) $(LIBOBJS)
6b61353c 654#endif
a0528984
EZ
655
656#ifdef HAVE_MOUSE
657#define MOUSE_SUPPORT ${lispsource}mouse.elc \
658 ${lispsource}select.elc ${lispsource}scroll-bar.elc
659#else
dd7c5963
NR
660#ifdef HAVE_GPM
661#define MOUSE_SUPPORT ${lispsource}mouse.elc
662#else
a0528984
EZ
663#define MOUSE_SUPPORT
664#endif
dd7c5963 665#endif
a0528984
EZ
666
667#ifdef VMS
668#define VMS_SUPPORT ${lispsource}vmsproc.elc ${lispsource}vms-patch.elc
669#else
670#define VMS_SUPPORT
671#endif
672
673#ifdef MSDOS
674#define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
675 ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \
676 ${lispsource}international/ccl.elc ${lispsource}international/codepage.elc
677
678#else
679#define MSDOS_SUPPORT
680#endif
681
414546fb
NR
682#ifdef HAVE_WINDOW_SYSTEM
683#ifdef HAVE_X_WINDOWS
d76c7a77 684#define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \
414546fb
NR
685 ${lispsource}international/fontset.elc ${lispsource}dnd.elc \
686 ${lispsource}tool-bar.elc ${lispsource}mwheel.elc ${lispsource}x-dnd.elc
687#else
d76c7a77 688#define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \
414546fb
NR
689 ${lispsource}international/fontset.elc ${lispsource}dnd.elc \
690 ${lispsource}tool-bar.elc ${lispsource}mwheel.elc
691#endif
692#else
693#define WINDOW_SUPPORT
694#endif
695
a0528984 696#ifdef WINDOWSNT
1f1bce0e
JR
697#define WINNT_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
698 ${lispsource}dos-w32.elc ${lispsource}w32-vars.elc \
699 ${lispsource}w32-fns.elc
a0528984
EZ
700#else
701#define WINNT_SUPPORT
702#endif
703
875baa34
LT
704#ifdef HAVE_WINDOW_SYSTEM
705#define TOOLTIP_SUPPORT ${lispsource}tooltip.elc
706#else
707#define TOOLTIP_SUPPORT
708#endif
709
be9b5a60
SM
710/* List of Lisp files loaded into the dumped Emacs. It is arranged
711 like this because it is easier to generate it semi-mechanically from
a0528984
EZ
712 loadup.el this way.
713
714 Note that this list should not include lisp files which might not
715 be present, like site-load.el and site-init.el; this makefile
716 expects them all to be either present or buildable.
717
718 Files which are loaded unconditionally should be in shortlisp as well.
719 Files included conditionally here should be included (unconditionally)
720 in SOME_MACHINE_LISP. */
721
722lisp= \
723 ${lispsource}abbrev.elc \
724 ${lispsource}buff-menu.elc \
aae5b722 725 ${lispsource}button.elc \
f984e73e 726 ${lispsource}emacs-lisp/byte-run.elc \
731055f5 727 ${lispsource}composite.elc \
bfcf6dbe 728 ${lispsource}cus-face.elc \
d381a855 729 ${lispsource}cus-start.elc \
a0528984 730 ${lispsource}custom.elc \
6e860d15 731 ${lispsource}emacs-lisp/backquote.elc \
a0528984
EZ
732 ${lispsource}emacs-lisp/lisp-mode.elc \
733 ${lispsource}emacs-lisp/lisp.elc \
734 ${lispsource}env.elc \
735 ${lispsource}faces.elc \
736 ${lispsource}files.elc \
737 ${lispsource}format.elc \
738 ${lispsource}facemenu.elc \
739 MOUSE_SUPPORT \
f984e73e 740 ${lispsource}emacs-lisp/float-sup.elc \
af0ad939 741 ${lispsource}frame.elc \
a0528984
EZ
742 ${lispsource}help.elc \
743 ${lispsource}indent.elc \
744 ${lispsource}isearch.elc \
29f05691 745 ${lispsource}rfn-eshadow.elc \
a0528984
EZ
746 ${lispsource}loadup.el \
747 ${lispsource}loaddefs.el \
aae5b722 748 ${lispsource}bindings.elc \
f984e73e 749 ${lispsource}emacs-lisp/map-ynp.elc \
a0528984
EZ
750 ${lispsource}menu-bar.elc \
751 ${lispsource}international/mule.elc \
752 ${lispsource}international/mule-conf.el \
753 ${lispsource}international/mule-cmds.elc \
754 ${lispsource}international/characters.elc \
15e2814c 755 ${lispsource}international/charprop.el \
a0528984 756 ${lispsource}case-table.elc \
050c6022 757 ${lispsource}language/chinese.el \
7e4c0466 758 ${lispsource}language/cyrillic.el \
054ccc15 759 ${lispsource}language/indian.el \
cc8d1311 760 ${lispsource}language/sinhala.el \
74fc84af 761 ${lispsource}language/english.el \
a0528984
EZ
762 ${lispsource}language/ethiopic.elc \
763 ${lispsource}language/european.elc \
74fc84af
EZ
764 ${lispsource}language/czech.el \
765 ${lispsource}language/slovak.el \
766 ${lispsource}language/romanian.el \
767 ${lispsource}language/greek.el \
768 ${lispsource}language/hebrew.el \
769 ${lispsource}language/japanese.el \
770 ${lispsource}language/korean.el \
771 ${lispsource}language/lao.el \
c9228487 772 ${lispsource}language/cham.el \
16460a76 773 ${lispsource}language/tai-viet.el \
74fc84af 774 ${lispsource}language/thai.el \
a0528984 775 ${lispsource}language/tibetan.elc \
7e4c0466 776 ${lispsource}language/vietnamese.el \
74fc84af 777 ${lispsource}language/misc-lang.el \
1e9a6186
DL
778 ${lispsource}language/utf-8-lang.el \
779 ${lispsource}language/georgian.el \
0e45710c 780 ${lispsource}language/khmer.el \
7f6519c5 781 ${lispsource}language/burmese.el \
a0528984
EZ
782 ${lispsource}paths.el \
783 ${lispsource}register.elc \
784 ${lispsource}replace.elc \
785 ${lispsource}simple.elc \
786 ${lispsource}startup.elc \
787 ${lispsource}subr.elc \
788 ${lispsource}term/tty-colors.elc \
bfcf6dbe 789 ${lispsource}font-core.elc \
1f7b1131
DN
790 ${lispsource}emacs-lisp/syntax.elc \
791 ${lispsource}font-lock.elc \
792 ${lispsource}jit-lock.elc \
a0528984
EZ
793 ${lispsource}textmodes/fill.elc \
794 ${lispsource}textmodes/page.elc \
795 ${lispsource}textmodes/paragraphs.elc \
796 ${lispsource}textmodes/text-mode.elc \
f984e73e 797 ${lispsource}emacs-lisp/timer.elc \
6e6851b0 798 ${lispsource}jka-cmpr-hook.elc \
a0528984
EZ
799 ${lispsource}vc-hooks.elc \
800 ${lispsource}ediff-hook.elc \
875baa34 801 TOOLTIP_SUPPORT \
a0528984
EZ
802 VMS_SUPPORT \
803 MSDOS_SUPPORT \
804 WINNT_SUPPORT \
414546fb 805 WINDOW_SUPPORT \
a0528984
EZ
806 ${lispsource}widget.elc \
807 ${lispsource}window.elc \
808 ${lispsource}version.el
809
810/* These are relative file names for the Lisp files
811 that are loaded unconditionally. This is used in make-docfile.
812 It need not contain the files that are loaded conditionally
813 because SOME_MACHINE_LISP has those. */
814shortlisp= \
815 ../lisp/abbrev.elc \
816 ../lisp/buff-menu.elc \
aae5b722 817 ../lisp/button.elc \
f984e73e 818 ../lisp/emacs-lisp/byte-run.elc \
731055f5 819 ../lisp/composite.elc \
bfcf6dbe 820 ../lisp/cus-face.elc \
d381a855 821 ../lisp/cus-start.elc \
a0528984 822 ../lisp/custom.elc \
f7d5d963 823 ../lisp/emacs-lisp/backquote.elc \
a0528984
EZ
824 ../lisp/emacs-lisp/lisp-mode.elc \
825 ../lisp/emacs-lisp/lisp.elc \
826 ../lisp/facemenu.elc \
827 ../lisp/faces.elc \
828 ../lisp/files.elc \
f984e73e 829 ../lisp/emacs-lisp/float-sup.elc \
a0528984
EZ
830 ../lisp/format.elc \
831 ../lisp/frame.elc \
832 ../lisp/help.elc \
833 ../lisp/indent.elc \
834 ../lisp/isearch.elc \
29f05691 835 ../lisp/rfn-eshadow.elc \
a0528984
EZ
836 ../lisp/loadup.el \
837 ../lisp/loaddefs.el \
aae5b722 838 ../lisp/bindings.elc \
f984e73e 839 ../lisp/emacs-lisp/map-ynp.elc \
a0528984
EZ
840 ../lisp/env.elc \
841 ../lisp/international/mule.elc \
842 ../lisp/international/mule-conf.el \
843 ../lisp/international/mule-cmds.elc \
844 ../lisp/international/characters.elc \
845 ../lisp/case-table.elc \
050c6022 846 ../lisp/language/chinese.el \
7e4c0466 847 ../lisp/language/cyrillic.el \
054ccc15 848 ../lisp/language/indian.el \
cc8d1311 849 ../lisp/language/sinhala.el \
74fc84af 850 ../lisp/language/english.el \
a0528984
EZ
851 ../lisp/language/ethiopic.elc \
852 ../lisp/language/european.elc \
74fc84af
EZ
853 ../lisp/language/czech.el \
854 ../lisp/language/slovak.el \
855 ../lisp/language/romanian.el \
856 ../lisp/language/greek.el \
857 ../lisp/language/hebrew.el \
858 ../lisp/language/japanese.el \
859 ../lisp/language/korean.el \
860 ../lisp/language/lao.el \
c9228487 861 ../lisp/language/cham.el \
16460a76 862 ../lisp/language/tai-viet.el \
74fc84af 863 ../lisp/language/thai.el \
a0528984 864 ../lisp/language/tibetan.elc \
7e4c0466 865 ../lisp/language/vietnamese.el \
74fc84af 866 ../lisp/language/misc-lang.el \
1e9a6186
DL
867 ../lisp/language/utf-8-lang.el \
868 ../lisp/language/georgian.el \
0e45710c 869 ../lisp/language/khmer.el \
7f6519c5 870 ../lisp/language/burmese.el \
f7d5d963 871 ../lisp/menu-bar.elc \
a0528984
EZ
872 ../lisp/paths.el \
873 ../lisp/register.elc \
874 ../lisp/replace.elc \
875 ../lisp/simple.elc \
876 ../lisp/startup.elc \
877 ../lisp/subr.elc \
878 ../lisp/term/tty-colors.elc \
59809627 879 ../lisp/font-core.elc \
1f7b1131
DN
880 ../lisp/emacs-lisp/syntax.elc \
881 ../lisp/font-lock.elc \
882 ../lisp/jit-lock.elc \
a0528984
EZ
883 ../lisp/textmodes/fill.elc \
884 ../lisp/textmodes/page.elc \
885 ../lisp/textmodes/paragraphs.elc \
886 ../lisp/textmodes/text-mode.elc \
f984e73e 887 ../lisp/emacs-lisp/timer.elc \
a0528984 888 ../lisp/vc-hooks.elc \
6e6851b0 889 ../lisp/jka-cmpr-hook.elc \
a0528984
EZ
890 ../lisp/ediff-hook.elc \
891 ../lisp/widget.elc \
892 ../lisp/window.elc \
893 ../lisp/version.el
894
895/* Lisp files that may or may not be used.
896 We must unconditionally put them in the DOC file.
897 We use ../lisp/ to start the file names
898 to reduce the size of the argument list for make-docfile
5aa17bb2 899 for the sake of systems which can''t handle large ones. */
f7d5d963 900SOME_MACHINE_LISP = ${dotdot}/lisp/mouse.elc \
a0528984 901 ${dotdot}/lisp/select.elc ${dotdot}/lisp/scroll-bar.elc \
73e72da4 902 VMS_SUPPORT \
a0528984
EZ
903 ${dotdot}/lisp/ls-lisp.elc ${dotdot}/lisp/dos-fns.elc \
904 ${dotdot}/lisp/w32-fns.elc ${dotdot}/lisp/dos-w32.elc \
905 ${dotdot}/lisp/disp-table.elc ${dotdot}/lisp/dos-vars.elc \
414546fb 906 ${dotdot}/lisp/tooltip.elc ${dotdot}/lisp/image.elc \
6e9fa979
EZ
907 ${dotdot}/lisp/fringe.elc ${dotdot}/lisp/dnd.elc \
908 ${dotdot}/lisp/mwheel.elc ${dotdot}/lisp/tool-bar.elc \
414546fb 909 ${dotdot}/lisp/x-dnd.elc \
a0528984 910 ${dotdot}/lisp/international/ccl.elc \
414546fb 911 ${dotdot}/lisp/international/codepage.elc \
ae4a0f10 912 ${dotdot}/lisp/international/fontset.elc \
c3a63088 913 ${dotdot}/lisp/mouse.elc \
774a8da1 914 ${dotdot}/lisp/term/x-win.elc
a0528984
EZ
915
916/* Construct full set of libraries to be linked.
917 Note that SunOS needs -lm to come before -lc; otherwise, you get
918 duplicated symbols. If the standard libraries were compiled
919 with GCC, we might need gnulib again after them. */
033b73e2
MA
920LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) $(DBUS_LIBS) \
921 LIBGPM LIBRESOLV LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
22f5bb01 922 LIBS_DEBUG $(GETLOADAVG_LIBS) \
ac96711a 923 @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \
22f5bb01 924 $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR)
a0528984
EZ
925
926/* Enable recompilation of certain other files depending on system type. */
927
928#ifndef OTHER_FILES
929#define OTHER_FILES
930#endif
931
932#ifndef OBJECTS_MACHINE
933#define OBJECTS_MACHINE
934#endif
935
462a725d
KH
936#ifdef HAVE_SHM
937RUN_TEMACS = `/bin/pwd`/temacs -nl
938#else
939RUN_TEMACS = `/bin/pwd`/temacs
940#endif
83f1cb94 941
108c7c97 942all: emacs${EXEEXT} OTHER_FILES
a0528984 943
108c7c97 944emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp}
a0528984 945#ifdef CANNOT_DUMP
108c7c97
AS
946 rm -f emacs${EXEEXT}
947 ln temacs${EXEEXT} emacs${EXEEXT}
a0528984 948#else
83f1cb94 949 LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump
a0528984
EZ
950#endif /* ! defined (CANNOT_DUMP) */
951 -./emacs -q -batch -f list-load-path-shadows
952
953/* We run make-docfile twice because the command line may get too long
954 on some systems. */
955/* ${SOME_MACHINE_OBJECTS} comes before ${obj} because some files may
956 or may not be included in ${obj}, but they are always included in
957 ${SOME_MACHINE_OBJECTS}. Since a file is processed when it is mentioned
958 for the first time, this prevents any variation between configurations
959 in the contents of the DOC file.
960 Likewise for ${SOME_MACHINE_LISP}. */
8edacacd 961${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${shortlisp} ${SOME_MACHINE_LISP}
a0528984
EZ
962 -rm -f ${etc}DOC
963 ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
964 ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
965
108c7c97
AS
966${libsrc}make-docfile${EXEEXT}:
967 cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile${EXEEXT}
a0528984 968
deeaffe1 969temacs${EXEEXT}: $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args${EXEEXT}
bd45f31d 970 echo "${obj} ${otherobj} " OBJECTS_MACHINE > buildobj.lst
dfe15ea3 971 $(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \
a0528984
EZ
972 -o temacs ${STARTFILES} ${obj} ${otherobj} \
973 OBJECTS_MACHINE ${LIBES}
974
be9b5a60 975/* We do not use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
5aa17bb2 976 often contain options that have to do with using Emacs''s crt0,
a0528984 977 which are only good with temacs. */
108c7c97 978prefix-args${EXEEXT}: prefix-args.c $(config_h)
a0528984
EZ
979 $(CC) $(ALL_CFLAGS) $(LDFLAGS) ${srcdir}/prefix-args.c -o prefix-args
980
16bf4e32 981#if defined (HAVE_X_WINDOWS) && defined (HAVE_X11) && defined (HAVE_MENUS) && ! defined (HAVE_GTK)
a0528984
EZ
982
983/* We use stamp-xmenu with these two deps
984 to both ensure that lwlib gets remade based on its dependencies
985 in its own makefile,
986 and remake temacs if lwlib gets changed by this. */
c60ee5e7 987stamp-oldxmenu: ${OLDXMENU} ../src/$(OLDXMENU)
a0528984
EZ
988 touch stamp-oldxmenu
989/* Supply an ordering for parallel make. */
990../src/$(OLDXMENU): ${OLDXMENU}
991
a0528984
EZ
992/* Encode the values of these two macros in Make variables,
993 so we can use $(...) to substitute their values within "...". */
994C_SWITCH_MACHINE_1 = C_SWITCH_MACHINE
995C_SWITCH_SYSTEM_1 = C_SWITCH_SYSTEM
996C_SWITCH_SITE_1 = C_SWITCH_SITE
997C_SWITCH_X_SITE_1 = C_SWITCH_X_SITE
998C_SWITCH_X_MACHINE_1 = C_SWITCH_X_MACHINE
999C_SWITCH_X_SYSTEM_1 = C_SWITCH_X_SYSTEM
deeaffe1
DN
1000
1001#ifdef USE_X_TOOLKIT
1002$(OLDXMENU): really-lwlib
1003
a0528984 1004really-lwlib:
6b61353c 1005 cd ${lwlibdir}; ${MAKE} ${MFLAGS} \
a0528984
EZ
1006 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' \
1007 "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \
1008 "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \
1009 "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \
1010 "C_SWITCH_SITE=$(C_SWITCH_SITE_1)" \
1011 "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \
1012 "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
1013 @true /* make -t should not create really-lwlib. */
1014.PHONY: really-lwlib
1015#else /* not USE_X_TOOLKIT */
1016$(OLDXMENU): really-oldXMenu
1017
a0528984 1018really-oldXMenu:
9c28b587 1019 cd ${oldXMenudir}; ${MAKE} ${MFLAGS} \
a0528984
EZ
1020 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' \
1021 "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \
1022 "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \
1023 "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \
1024 "C_SWITCH_SITE=$(C_SWITCH_SITE_1)" \
1025 "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \
1026 "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
1027 @true /* make -t should not create really-oldXMenu. */
1028.PHONY: really-oldXMenu
1029#endif /* not USE_X_TOOLKIT */
16bf4e32 1030#else /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! HAVE_GTK) */
a0528984 1031
5aa17bb2 1032/* We don''t really need this, but satisfy the dependency. */
a0528984
EZ
1033stamp-oldxmenu:
1034 touch stamp-oldxmenu
16bf4e32 1035#endif /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! HAVE_GTK) */
a0528984
EZ
1036
1037../config.status:: epaths.in
1038 @echo "The file epaths.h needs to be set up from epaths.in."
1039 @echo "Please run the `configure' script again."
1040 exit 1
1041
1042../config.status:: config.in
1043 @echo "The file config.h needs to be set up from config.in."
1044 @echo "Please run the `configure' script again."
1045 exit 1
1046
a0528984
EZ
1047/* Nearly all the following files depend on lisp.h,
1048 but it is not included as a dependency because
1049 it is so often changed in ways that do not require any recompilation
1050 and so rarely changed in ways that do require any. */
1051
85969c22 1052abbrev.o: abbrev.c buffer.h window.h dispextern.h commands.h character.h \
21065c92 1053 syntax.h $(config_h)
a0528984 1054buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \
85969c22 1055 dispextern.h $(INTERVAL_SRC) blockinput.h atimer.h systime.h character.h \
a0528984 1056 $(config_h)
21065c92 1057callint.o: callint.c window.h commands.h buffer.h keymap.h \
a0528984
EZ
1058 keyboard.h dispextern.h $(config_h)
1059callproc.o: callproc.c epaths.h buffer.h commands.h $(config_h) \
8f924df7 1060 process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \
f105f403 1061 composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h
85969c22 1062casefiddle.o: casefiddle.c syntax.h commands.h buffer.h character.h \
a63aa692 1063 composite.h \
21065c92 1064 charset.h keymap.h $(config_h)
a0528984 1065casetab.o: casetab.c buffer.h $(config_h)
a63aa692
MB
1066category.o: category.c category.h buffer.h charset.h keymap.h \
1067 character.h $(config_h)
85969c22
KH
1068ccl.o: ccl.c ccl.h charset.h character.h coding.h $(config_h)
1069character.o: character.c character.h buffer.h charset.h composite.h disptab.h \
1070 $(config.h)
1071charset.o: charset.c charset.h character.h buffer.h coding.h composite.h \
1072 disptab.h $(config_h)
5d4e3d2e 1073chartab.o: charset.h character.h $(config.h)
a63aa692 1074coding.o: coding.c coding.h ccl.h buffer.h character.h charset.h intervals.h composite.h \
267eea21 1075 window.h dispextern.h frame.h termhooks.h $(config_h)
91b726f0 1076cm.o: cm.c frame.h cm.h termhooks.h termchar.h $(config_h)
85969c22 1077cmds.o: cmds.c syntax.h buffer.h character.h commands.h window.h $(config_h) \
21065c92 1078 msdos.h dispextern.h keyboard.h keymap.h
a0528984
EZ
1079pre-crt0.o: pre-crt0.c
1080ecrt0.o: ecrt0.c $(config_h)
1081 CRT0_COMPILE ${srcdir}/ecrt0.c
85969c22 1082dired.o: dired.c commands.h buffer.h $(config_h) character.h charset.h \
d85d3839 1083 coding.h regex.h systime.h blockinput.h atimer.h
985773c9 1084dispnew.o: dispnew.c systime.h commands.h process.h frame.h \
4524691f 1085 window.h buffer.h dispextern.h termchar.h termopts.h termhooks.h cm.h \
21065c92 1086 disptab.h indent.h intervals.h \
85969c22 1087 xterm.h blockinput.h atimer.h character.h msdos.h composite.h keyboard.h \
a0528984 1088 $(config_h)
a63aa692 1089doc.o: doc.c $(config_h) epaths.h buffer.h keyboard.h keymap.h character.h
85969c22 1090doprnt.o: doprnt.c character.h $(config_h)
21065c92 1091dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \
ffb72b67
YM
1092 msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \
1093 $(config_h)
85969c22 1094editfns.o: editfns.c window.h buffer.h systime.h $(INTERVAL_SRC) character.h \
ffb72b67 1095 coding.h dispextern.h frame.h blockinput.h atimer.h $(config_h)
a0528984 1096emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
6b61353c 1097 termhooks.h buffer.h atimer.h systime.h $(INTERVAL_SRC) $(config_h) \
21065c92 1098 window.h dispextern.h keyboard.h keymap.h
85969c22 1099fileio.o: fileio.c window.h buffer.h systime.h $(INTERVAL_SRC) character.h \
ffb72b67 1100 coding.h msdos.h dispextern.h blockinput.h atimer.h $(config_h)
8f924df7
KH
1101filelock.o: filelock.c buffer.h character.h charset.h coding.h systime.h \
1102 epaths.h $(config_h)
a0528984
EZ
1103filemode.o: filemode.c $(config_h)
1104frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
8f924df7 1105 blockinput.h atimer.h systime.h buffer.h character.h fontset.h \
267eea21 1106 msdos.h dosfns.h dispextern.h w32term.h macterm.h termchar.h $(config_h)
47632e43 1107fringe.o: fringe.c dispextern.h frame.h window.h buffer.h termhooks.h $(config_h)
08b1e593
KH
1108font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \
1109 font.h $(config_h)
7de94409 1110ftfont.o: dispextern.h frame.h character.h charset.h font.h $(config_h)
85969c22 1111fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h character.h \
c73bd236 1112 charset.h frame.h keyboard.h termhooks.h $(FONTSRC) $(config_h)
a0528984 1113getloadavg.o: getloadavg.c $(config_h)
6b61353c
KH
1114image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \
1115 systime.h xterm.h w32term.h w32gui.h macterm.h macgui.h $(config_h)
a0528984 1116indent.o: indent.c frame.h window.h indent.h buffer.h $(config_h) termchar.h \
85969c22
KH
1117 termopts.h disptab.h region-cache.h character.h category.h composite.h \
1118 dispextern.h keyboard.h
1119insdel.o: insdel.c window.h buffer.h $(INTERVAL_SRC) blockinput.h character.h \
21065c92 1120 dispextern.h atimer.h systime.h region-cache.h $(config_h)
85969c22 1121keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \
a0528984 1122 commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \
91b726f0 1123 systime.h dispextern.h syntax.h $(INTERVAL_SRC) blockinput.h \
21065c92 1124 atimer.h xterm.h puresize.h msdos.h keymap.h w32term.h macterm.h $(config_h)
a0528984 1125keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
46538474 1126 atimer.h systime.h puresize.h character.h intervals.h keymap.h window.h \
b74e16a3 1127 $(config_h)
a0528984
EZ
1128lastfile.o: lastfile.c $(config_h)
1129macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h \
1130 dispextern.h $(config_h)
1131malloc.o: malloc.c $(config_h)
1132gmalloc.o: gmalloc.c $(config_h)
1133ralloc.o: ralloc.c $(config_h)
1134vm-limit.o: vm-limit.c mem-limits.h $(config_h)
85969c22 1135marker.o: marker.c buffer.h character.h $(config_h)
39c9a034 1136md5.o: md5.c md5.h $(config_h)
a0528984 1137minibuf.o: minibuf.c syntax.h dispextern.h frame.h window.h keyboard.h \
c73bd236 1138 buffer.h commands.h character.h msdos.h $(INTERVAL_SRC) keymap.h \
47632e43 1139 termhooks.h $(config_h)
a0528984 1140mktime.o: mktime.c $(config_h)
a0528984 1141msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
85969c22 1142 termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \
ffb72b67 1143 keyboard.h intervals.h buffer.h commands.h blockinput.h atimer.h $(config_h)
a0528984
EZ
1144process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \
1145 commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
1146 blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
1147 keyboard.h $(config_h)
85969c22
KH
1148regex.o: regex.c syntax.h buffer.h $(config_h) regex.h category.h character.h \
1149 charset.h
dd6ab82f 1150region-cache.o: region-cache.c buffer.h region-cache.h $(config_h)
a0528984 1151scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \
91b726f0 1152 termhooks.h $(config_h)
a0528984 1153search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \
6660e3a8
KH
1154 blockinput.h atimer.h systime.h category.h character.h charset.h \
1155 composite.h $(INTERVAL_SRC) \
85969c22 1156 $(config_h)
a0528984 1157strftime.o: strftime.c $(config_h)
85969c22 1158syntax.o: syntax.c syntax.h buffer.h commands.h category.h character.h \
21065c92 1159 composite.h keymap.h regex.h $(INTERVAL_SRC) $(config_h)
4524691f
RS
1160sysdep.o: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \
1161 process.h dispextern.h termhooks.h termchar.h termopts.h \
91b726f0 1162 frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h $(config_h)
a0528984 1163term.o: term.c termchar.h termhooks.h termopts.h $(config_h) cm.h frame.h \
85969c22 1164 disptab.h dispextern.h keyboard.h character.h charset.h coding.h ccl.h \
d85d3839 1165 msdos.h window.h keymap.h blockinput.h atimer.h systime.h
a0528984 1166termcap.o: termcap.c $(config_h)
ed8dad6b
KL
1167terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
1168 keyboard.h $(config_h)
a0528984
EZ
1169terminfo.o: terminfo.c $(config_h)
1170tparam.o: tparam.c $(config_h)
9cb38333 1171undo.o: undo.c buffer.h commands.h window.h $(config_h)
a0528984
EZ
1172/* This hack is to discard any space that cpp might put at the beginning
1173 of UNEXEC when substituting it in. */
1174UNEXEC_ALIAS=UNEXEC
1175$(UNEXEC_ALIAS): UNEXEC_SRC $(config_h)
1176w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \
21065c92 1177 msdos.h buffer.h charset.h coding.h composite.h $(config_h)
a0528984
EZ
1178widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \
1179 $(srcdir)/../lwlib/lwlib.h $(config_h)
1180window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
91b726f0 1181 disptab.h keyboard.h dispextern.h msdos.h composite.h \
ffb72b67
YM
1182 keymap.h blockinput.h atimer.h systime.h $(INTERVAL_SRC) \
1183 xterm.h w32term.h macterm.h $(config_h)
a63aa692
MB
1184xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \
1185 coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \
d85d3839
MB
1186 charset.h $(config_h) keyboard.h $(INTERVAL_SRC) region-cache.h xterm.h \
1187 w32term.h macterm.h msdos.h composite.h fontset.h blockinput.h atimer.h \
7de94409 1188 systime.h keymap.h $(FONTSRC)
a63aa692
MB
1189xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
1190 window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \
d85d3839 1191 systime.h keyboard.h fontset.h w32term.h macterm.h $(INTERVAL_SRC) \
c73bd236 1192 termchar.h termhooks.h $(FONTSRC) $(config_h)
a0528984
EZ
1193xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
1194 $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \
7de94409 1195 character.h charset.h coding.h gtkutil.h $(config_h) termhooks.h \
c73bd236 1196 fontset.h termchar.h $(FONTSRC)
7de94409
KH
1197xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1198 font.h $(config_h)
1199xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1200 font.h $(config_h)
1201ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1202 font.h $(config_h)
c2d0b18a 1203xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \
85969c22 1204 charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \
6b61353c 1205 systime.h gtkutil.h msdos.h coding.h $(config_h)
c2d0b18a 1206xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \
85969c22 1207 dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
73f838ad 1208 keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \
7de94409 1209 coding.h process.h gtkutil.h $(FONTSRC) $(config_h)
4524691f 1210xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \
91b726f0 1211 buffer.h atimer.h systime.h termhooks.h $(config_h)
a0528984 1212xrdb.o: xrdb.c $(config_h) epaths.h
6b61353c
KH
1213xsmfns.o: xsmfns.c $(config_h) systime.h sysselect.h termhooks.h xterm.h \
1214 lisp.h termopts.h
033b73e2 1215gtkutil.o: gtkutil.c gtkutil.h xterm.h lisp.h frame.h $(config_h) \
ffb72b67
YM
1216 blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \
1217 charset.h coding.h
033b73e2 1218dbusbind.o: dbusbind.c termhooks.h $(config_h)
488dd4c4 1219
a0528984
EZ
1220hftctl.o: hftctl.c $(config_h)
1221sound.o: sound.c dispextern.h $(config_h)
1222atimer.o: atimer.c atimer.h systime.h $(config_h)
1223
1224/* The files of Lisp proper */
1225
4524691f 1226alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h keyboard.h \
85969c22
KH
1227 blockinput.h atimer.h systime.h character.h dispextern.h $(config_h) \
1228 $(INTERVAL_SRC)
a63aa692 1229bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \
21065c92 1230 frame.h xterm.h $(config_h)
a63aa692 1231data.o: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \
c73bd236 1232 termhooks.h $(config_h)
a0528984 1233eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \
6b61353c 1234 dispextern.h $(config_h)
a0528984 1235floatfns.o: floatfns.c $(config_h)
85969c22 1236fns.o: fns.c commands.h $(config_h) frame.h buffer.h character.h keyboard.h \
21065c92 1237 keymap.h frame.h window.h dispextern.h $(INTERVAL_SRC) coding.h md5.h \
e18c7093 1238 blockinput.h atimer.h systime.h xterm.h termhooks.h
85969c22 1239print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \
985773c9 1240 $(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h \
ffb72b67 1241 blockinput.h atimer.h systime.h
85969c22 1242lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \
985773c9 1243 charset.h $(config_h) $(INTERVAL_SRC) termhooks.h coding.h msdos.h
a0528984
EZ
1244
1245/* Text properties support */
1246textprop.o: textprop.c buffer.h window.h dispextern.h $(INTERVAL_SRC) \
1247 $(config_h)
21065c92
EZ
1248intervals.o: intervals.c buffer.h $(INTERVAL_SRC) keyboard.h puresize.h \
1249 keymap.h $(config_h)
85969c22 1250composite.o: composite.c buffer.h character.h $(INTERVAL_SRC) $(config_h)
a0528984
EZ
1251
1252/* System-specific programs to be made.
1253 OTHER_FILES and OBJECTS_MACHINE
1254 select which of these should be compiled. */
1255
e0f712ba 1256#ifdef HAVE_CARBON
e047f448 1257buffer.o callint.o cmds.o dispnew.o editfns.o fileio.o frame.o \
e0f712ba 1258 fontset.o indent.o insdel.o keyboard.o macros.o minibuf.o msdos.o process.o \
ed8dad6b 1259 scroll.o sysdep.o term.o terminal.o widget.o window.o xdisp.o xfaces.o xfns.o xmenu.o \
e0f712ba 1260 xterm.o xselect.o sound.o: macgui.h
f3cf04d3 1261mac.o: mac.c process.h sysselect.h blockinput.h atimer.h systime.h charset.h \
03cb0f35 1262 coding.h ccl.h $(config_h)
e0f712ba
AC
1263macfns.o: macfns.c charset.h macterm.h macgui.h frame.h window.h buffer.h \
1264 dispextern.h macgui.h fontset.h $(INTERVAL_SRC) keyboard.h blockinput.h \
ffb72b67 1265 atimer.h systime.h epaths.h termhooks.h coding.h $(config_h)
e0f712ba
AC
1266macmenu.o: macmenu.c termhooks.h frame.h window.h dispextern.h macgui.h \
1267 keyboard.h blockinput.h atimer.h systime.h buffer.h macterm.h $(config_h)
1268macterm.o: blockinput.h atimer.h systime.h syssignal.h macterm.h macgui.h \
1269 frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h termopts.h \
73f838ad 1270 termchar.h disptab.h buffer.h window.h keyboard.h $(INTERVAL_SRC) \
e0f712ba 1271 process.h coding.h $(config_h)
ffb72b67
YM
1272macselect.o: blockinput.h atimer.h systime.h macterm.h macgui.h frame.h \
1273 keymap.h $(config_h)
e0f712ba 1274
ce0669d4
ST
1275${emacsapp}Contents/Resources/English.lproj:
1276 mkdir -p $@
1277
1278ifneq (${emacsapp},${emacsappsrc})
1279${emacsapp}Contents/Info.plist: ${emacsappsrc}Contents/Info.plist
1280 cp $< $@
1281${emacsapp}Contents/PkgInfo: ${emacsappsrc}Contents/PkgInfo
1282 cp $< $@
1283${emacsapp}Contents/Resources/Emacs.icns: ${emacsappsrc}Contents/Resources/Emacs.icns
1284 mkdir -p ${emacsapp}Contents/Resources
1285 cp $< $@
1286${emacsapp}Contents/Resources/English.lproj/InfoPlist.strings: ${emacsappsrc}Contents/Resources/English.lproj/InfoPlist.strings
1287 cp $< $@
1288endif
1289
1290macosx-bundle: ${emacsapp}Contents/Resources/English.lproj \
af0ad939 1291 ${emacsapp}Contents/Info.plist ${emacsapp}Contents/PkgInfo \
ce0669d4
ST
1292 ${emacsapp}Contents/Resources/Emacs.icns \
1293 ${emacsapp}Contents/Resources/English.lproj/InfoPlist.strings
bc23733a 1294macosx-app: macosx-bundle ${emacsapp}Contents/MacOS/Emacs
108c7c97 1295${emacsapp}Contents/MacOS/Emacs: emacs${EXEEXT}
ce0669d4 1296 mkdir -p ${emacsapp}Contents/MacOS/;
108c7c97 1297 cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs${EXEEXT} Emacs${EXEEXT}
e0f712ba
AC
1298#endif
1299
a282cc8c 1300bootstrapclean:
4a3363c5 1301 rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT}
a0528984 1302mostlyclean:
108c7c97 1303 rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a
a0528984 1304 rm -f ../etc/DOC
4a3363c5 1305 rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT}
bd45f31d 1306 rm -f buildobj.lst
a0528984 1307clean: mostlyclean
108c7c97 1308 rm -f emacs-*${EXEEXT} emacs${EXEEXT}
a0528984
EZ
1309/**/# This is used in making a distribution.
1310/**/# Do not use it on development directories!
1311distclean: clean
1312 rm -f epaths.h config.h Makefile Makefile.c config.stamp stamp-oldxmenu ../etc/DOC-*
966bda3a
EZ
1313 mv ./.gdbinit ./.gdbinit.save
1314 if test -f "${srcdir}/.gdbinit"; then rm -f ./.gdbinit.save; \
1315 else mv ./.gdbinit.save ./.gdbinit; fi
a0528984
EZ
1316maintainer-clean: distclean
1317 @echo "This command is intended for maintainers to use;"
1318 @echo "it deletes files that may require special tools to rebuild."
1319 rm -f TAGS
1320versionclean:
108c7c97 1321 -rm -f emacs${EXEEXT} emacs-* ../etc/DOC*
a0528984
EZ
1322extraclean: distclean
1323 -rm -f *~ \#* m/?*~ s/?*~
1324
a0528984
EZ
1325/* Arrange to make a tags table TAGS-LISP for ../lisp,
1326 plus TAGS for the C files, which includes ../lisp/TAGS by reference. */
1327
c60ee5e7 1328ctagsfiles1 = [xyzXYZ]*.[hc]
a0528984
EZ
1329ctagsfiles2 = [a-wA-W]*.[hc]
1330
1331TAGS: $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
1332 ../lib-src/etags --include=TAGS-LISP --include=${lwlibdir}/TAGS \
1333 --regex='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
1334 $(srcdir)/$(ctagsfiles1) $(srcdir)/$(ctagsfiles2)
1335frc:
1336TAGS-LISP: frc
99b7e543 1337 $(MAKE) -f ${lispdir}Makefile TAGS-LISP ETAGS=../lib-src/etags
a0528984
EZ
1338
1339$(lwlibdir)TAGS:
1340 (cd $(lwlibdir); $(MAKE) -f $(lwlibdir)Makefile tags ETAGS=../lib-src/etags)
1341
1342tags: TAGS TAGS-LISP $(lwlibdir)TAGS
1343.PHONY: tags
1344
1345
1346/* Bootstrapping. */
1347
108c7c97 1348bootstrap: bootstrap-emacs${EXEEXT}
a0528984 1349
c60ee5e7 1350/* Dump an Emacs executable named bootstrap-emacs containing the
a0528984
EZ
1351 files from loadup.el in source form. */
1352
462a725d 1353bootstrap-emacs${EXEEXT}: temacs${EXEEXT} ${lispsource}international/charprop.el
a0528984 1354#ifdef CANNOT_DUMP
108c7c97 1355 ln temacs${EXEEXT} bootstrap-emacs${EXEEXT}
a0528984 1356#else
83f1cb94 1357 $(RUN_TEMACS) --batch --load loadup bootstrap
108c7c97 1358 mv -f emacs${EXEEXT} bootstrap-emacs${EXEEXT}
a0528984 1359#endif /* ! defined (CANNOT_DUMP) */