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