*** empty log message ***
[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
a0528984
EZ
243#ifdef USE_X_TOOLKIT
244#define USE_@X_TOOLKIT_TYPE@
245TOOLKIT_DEFINES = -DUSE_@X_TOOLKIT_TYPE@
246#else
488dd4c4 247#ifndef USE_GTK
a0528984
EZ
248TOOLKIT_DEFINES =
249#endif
488dd4c4 250#endif
a0528984 251
033b73e2
MA
252#ifdef HAVE_DBUS
253DBUS_CFLAGS = @DBUS_CFLAGS@
254DBUS_LIBS = @DBUS_LIBS@
255DBUS_OBJ = dbusbind.o
256#endif
257
a0528984
EZ
258/* DO NOT use -R. There is a special hack described in lastfile.c
259 which is used instead. Some initialized data areas are modified
260 at initial startup, then labeled as part of the text area when
261 Emacs is dumped for the first time, and never changed again. */
262
263/* -Demacs is needed to make some files produce the correct version
264 for use in Emacs.
265
266 -DHAVE_CONFIG_H is needed for some other files to take advantage of
5aa17bb2 267 the information in ``config.h''. */
a0528984
EZ
268
269/* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM
270 since it may have -I options that should override those two. */
0bd50841 271ALL_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
272.c.o:
273 $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
274
a0528984
EZ
275#ifndef LIBX11_SYSTEM
276#define LIBX11_SYSTEM
277#endif
278
279#ifndef LIB_X11_LIB
280#define LIB_X11_LIB -lX11
281#endif
282
cbf223e1
EZ
283/* xmenu.c should not be compiled on OSX. */
284#ifndef HAVE_CARBON
285XMENU_OBJ = xmenu.o
286#endif
287
a0528984 288#ifdef HAVE_X_WINDOWS
6b61353c
KH
289
290XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o
291
a0528984
EZ
292#ifdef HAVE_MENUS
293
488dd4c4 294#ifdef USE_GTK
6b61353c 295GTK_OBJ= gtkutil.o
488dd4c4 296#endif
a0528984
EZ
297
298/* The X Menu stuff is present in the X10 distribution, but missing
299 from X11. If we have X10, just use the installed library;
300 otherwise, use our own copy. */
301#ifdef HAVE_X11
302#ifdef USE_X_TOOLKIT
303OLDXMENU=${lwlibdir}liblw.a
304LIBXMENU= $(OLDXMENU)
305#else /* not USE_X_TOOLKIT */
306OLDXMENU= ${oldXMenudir}libXMenu11.a
307LIBXMENU= $(OLDXMENU)
308#endif /* not USE_X_TOOLKIT */
309#else /* not HAVE_X11 */
310LIBXMENU= -lXMenu
311#endif /* not HAVE_X11 */
312
313#else /* not HAVE_MENUS */
314
be9b5a60 315/* Otherwise, do not worry about the menu library at all. */
a0528984
EZ
316LIBXMENU=
317#endif /* not HAVE_MENUS */
318
319#ifdef USE_X_TOOLKIT
320#define @X_TOOLKIT_TYPE@
321#if defined (LUCID) || defined (ATHENA)
322#if HAVE_XAW3D
323LIBW= -lXaw3d
324#else
325LIBW= -lXaw
326#endif
327#endif
328#ifdef MOTIF
329#if defined (HAVE_MOTIF_2_1) && defined (HAVE_LIBXP)
330#define LIB_MOTIF_EXTRA -lXp
331#else
332#define LIB_MOTIF_EXTRA
333#endif
334#ifdef LIB_MOTIF
335LIBW= LIB_MOTIF LIB_MOTIF_EXTRA
336#else
337LIBW= -lXm LIB_MOTIF_EXTRA
338#endif
339#endif
340#ifdef OPEN_LOOK
341LIBW= -lXol
342#endif
343
344#ifdef HAVE_X11XTR6
345#ifdef NEED_LIBW
346LIBXTR6 = -lSM -lICE -lw
347#else
348LIBXTR6 = -lSM -lICE
349#endif
350#endif
351
352#ifndef LIBXMU
353#define LIBXMU -lXmu
354#endif
355
356#ifdef LIBXT_STATIC
357/* We assume the config files have defined STATIC_OPTION
358 since that might depend on the operating system.
be9b5a60 359 (Do not forget you need different definitions with and without __GNUC__.) */
a0528984
EZ
360LIBXT= STATIC_OPTION $(LIBW) LIBXMU -lXt $(LIBXTR6) -lXext DYNAMIC_OPTION
361#else /* not LIBXT_STATIC */
362LIBXT= $(LIBW) LIBXMU -lXt $(LIBXTR6) -lXext
363#endif /* not LIBXT_STATIC */
364
365#else /* not USE_X_TOOLKIT */
488dd4c4
JD
366
367#ifdef USE_GTK
368LIBW=@GTK_LIBS@
369OLDXMENU=
370LIBXMENU=
371#endif /* USE_GTK */
372
618c30cb 373#ifdef HAVE_X_SM
488dd4c4 374LIBXT=$(LIBW) -lSM -lICE
618c30cb 375#else
488dd4c4 376LIBXT=$(LIBW)
618c30cb 377#endif
a0528984
EZ
378#endif /* not USE_X_TOOLKIT */
379
7e660140 380#if HAVE_XFT
8d097e47 381XFT_LIBS=@XFT_LIBS@
7e660140
JD
382#endif /* HAVE_XFT */
383
a0528984
EZ
384#if HAVE_XPM
385#ifndef LIBXPM
386#define LIBXPM -lXpm
387#endif /* not defined LIBXPM */
388#else /* not HAVE_XPM */
389#define LIBXPM
390#endif /* not HAVE_XPM */
391
392#if HAVE_JPEG
393#ifndef LIBJPEG
394#define LIBJPEG -ljpeg
395#endif /* not defined LIBJPEG */
396#else /* not HAVE_JPEG */
397#define LIBJPEG
398#endif /* not HAVE_JPEG */
399
400#if HAVE_PNG
401#ifndef LIBPNG
402#define LIBPNG -lpng -lz -lm
403#endif /* not defined LIBPNG */
404#else /* not HAVE_PNG */
405#define LIBPNG
406#endif /* not HAVE_PNG */
407
408#if HAVE_TIFF
409#ifndef LIBTIFF
410#define LIBTIFF -ltiff
411#endif /* not defined LIBTIFF */
412#else /* not HAVE_TIFF */
413#define LIBTIFF
414#endif /* not HAVE_TIFF */
415
416#if HAVE_GIF
417#ifndef LIBGIF
31840c43 418#define LIBGIF -lgif
a0528984
EZ
419#endif /* not defined LIBGIF */
420#else /* not HAVE_GIF */
421#define LIBGIF
422#endif /* not HAVE_GIF */
423
424#ifdef HAVE_X11
425/* LD_SWITCH_X_DEFAULT comes after everything else that specifies
426 options for where to find X libraries, but before those libraries. */
427X11_LDFLAGS = LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT
4624371d 428LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) LIBTIFF LIBJPEG LIBPNG LIBGIF LIBXPM LIB_X11_LIB LIBX11_SYSTEM $(XFT_LIBS)
a0528984 429#else /* not HAVE_X11 */
c22140f6 430LIBX= $(LIBXMENU) LD_SWITCH_X_SITE
a0528984 431#endif /* not HAVE_X11 */
6b61353c 432#else /* not HAVE_X_WINDOWS */
a0528984
EZ
433#endif /* not HAVE_X_WINDOWS */
434
26114bc0
JD
435#if HAVE_GPM
436#ifndef LIBGPM
437#define LIBGPM -lgpm
438#endif /* not defined LIBGPM */
439#else /* not HAVE_GPM */
440#define LIBGPM
441#endif /* not HAVE_GPM */
442
b5322ed7
CY
443#if HAVE_LIBRESOLV
444#ifndef LIBRESOLV
445#define LIBRESOLV -lresolv
446#endif /* not defined LIBRESOLV */
447#else /* not HAVE_LIBRESOLV */
448#define LIBRESOLV
449#endif /* not HAVE_LIBRESOLV */
26114bc0 450
a0528984 451LIBSOUND= @LIBSOUND@
4900d996 452CFLAGS_SOUND= @CFLAGS_SOUND@
a0528984 453
a1b7773a
YM
454RSVG_LIBS= @RSVG_LIBS@
455RSVG_CFLAGS= @RSVG_CFLAGS@
456
a0528984
EZ
457#ifndef ORDINARY_LINK
458/* Fix linking if compiled with GCC. */
459#ifdef __GNUC__
460
a0528984
EZ
461#ifdef LINKER
462#define LINKER_WAS_SPECIFIED
463#endif
464
465/* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure
466 places that are difficult to figure out at make time. Fortunately,
467 these same versions allow you to pass arbitrary flags on to the
be9b5a60 468 linker, so there is no reason not to use it as a linker.
a0528984 469
be9b5a60 470 Well, it is not quite perfect. The "-nostdlib" keeps GCC from
a0528984
EZ
471 searching for libraries in its internal directories, so we have to
472 ask GCC explicitly where to find libgcc.a. */
473
474#ifndef LINKER
475#define LINKER $(CC) -nostdlib
476#endif
477
478#ifndef LIB_GCC
479/* Ask GCC where to find libgcc.a. */
480#define LIB_GCC `$(CC) -print-libgcc-file-name`
481#endif /* not LIB_GCC */
482
483GNULIB_VAR = LIB_GCC
484
485#ifndef LINKER_WAS_SPECIFIED
486/* GCC passes any argument prefixed with -Xlinker directly to the
be9b5a60 487 linker. See prefix-args.c for an explanation of why we do not do
5aa17bb2 488 this with the shell''s ``for'' construct.
be9b5a60 489 Note that some people do not have '.' in their paths, so we must
a0528984
EZ
490 use ./prefix-args. */
491#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
492#else
493#define YMF_PASS_LDFLAGS(flags) flags
494#endif
495
a0528984
EZ
496#else /* not __GNUC__ */
497GNULIB_VAR =
498
499#endif /* not __GNUC__ */
500#endif /* not ORDINARY_LINK */
501
a0528984
EZ
502#ifdef ORDINARY_LINK
503LD = $(CC)
504#else
a0528984
EZ
505#ifdef LINKER
506LD=LINKER
507#else /* not LINKER */
508LD=ld
509#endif /* not LINKER */
a0528984
EZ
510#endif /* not ORDINARY_LINK */
511
dfe15ea3 512/* Flags to pass to LD only for temacs. */
be9b5a60 513/* Do not split this line with a backslash. That can cause trouble with
afb44cc2
DL
514 some cpps. */
515TEMACS_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE LD_SWITCH_MACHINE_TEMACS LD_SWITCH_SITE
a0528984
EZ
516
517/* A macro which other sections of Makefile can redefine to munge the
be9b5a60 518 flags before they are passed to LD. This is helpful if you have
a0528984
EZ
519 redefined LD to something odd, like "gcc".
520 (The YMF prefix is a holdover from the old name "ymakefile".)
521 */
522#ifndef YMF_PASS_LDFLAGS
523#define YMF_PASS_LDFLAGS(flags) flags
524#endif
525
526/* Allow config.h to specify a replacement file for unexec.c. */
527#ifndef UNEXEC
528#define UNEXEC unexec.o
529#endif
530#ifndef UNEXEC_SRC
531#define UNEXEC_SRC unexec.c
532#endif
533
534INTERVAL_SRC = intervals.h composite.h
535
536GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
537
538#ifdef MSDOS
539#ifdef HAVE_X_WINDOWS
540MSDOS_OBJ = dosfns.o msdos.o
541#else
542MSDOS_OBJ = dosfns.o msdos.o w16select.o
543#endif
544#endif
545
6b61353c
KH
546#ifdef CYGWIN
547CYGWIN_OBJ = sheap.o
548#endif
549
e0f712ba 550#ifdef HAVE_CARBON
ce0669d4 551mac = $(dot)$(dot)/mac/
f4f1eb10 552MAC_OBJ = mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o fringe.o image.o mactoolbox.o
ce0669d4
ST
553emacsapp = $(PWD)/$(mac)Emacs.app/
554emacsappsrc = ${srcdir}/../mac/Emacs.app/
e0f712ba 555#endif
a0528984 556
7de94409 557#ifdef HAVE_WINDOW_SYSTEM
7de94409 558FONTSRC = font.h
ac96711a 559#ifdef USE_FONT_BACKEND
7de94409
KH
560#ifdef HAVE_X_WINDOWS
561#if defined (HAVE_XFT)
562FONTOBJ = font.o xfont.o ftfont.o xftfont.o ftxfont.o
563#elif defined (HAVE_FREETYPE)
564FONTOBJ = font.o xfont.o ftfont.o ftxfont.o
565#else /* ! defined (HAVE_XFT) && ! defined (HAVE_FREETYPE) */
566FONTOBJ = font.o xfont.o
567#endif /* ! defined (HAVE_XFT) && ! defined (HAVE_FREETYPE) */
568#else /* ! HAVE_X_WINDOWS */
569FONTOBJ = font.o
570#endif /* ! HAVE_X_WINDOWS */
ac96711a
KH
571#else /* ! USE_FONT_BACKEND */
572FONTOBJ = font.o
573#endif /* ! USE_FONT_BACKEND */
7de94409
KH
574#endif /* HAVE_WINDOW_SYSTEM */
575
a0528984
EZ
576/* lastfile must follow all files
577 whose initialized data areas should be dumped as pure by dump-emacs. */
e0f712ba 578obj= dispnew.o frame.o scroll.o xdisp.o $(XMENU_OBJ) window.o \
8f924df7 579 charset.o coding.o category.o ccl.o character.o chartab.o \
033b73e2 580 cm.o term.o terminal.o xfaces.o $(XOBJ) $(GTK_OBJ) $(DBUS_OBJ) \
a0528984
EZ
581 emacs.o keyboard.o macros.o keymap.o sysdep.o \
582 buffer.o filelock.o insdel.o marker.o \
583 minibuf.o fileio.o dired.o filemode.o \
584 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
585 alloc.o data.o doc.o editfns.o callint.o \
586 eval.o floatfns.o fns.o print.o lread.o \
e047f448 587 syntax.o UNEXEC bytecode.o \
a0528984
EZ
588 process.o callproc.o \
589 region-cache.o sound.o atimer.o \
590 doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \
7de94409 591 $(MSDOS_OBJ) $(MAC_OBJ) $(CYGWIN_OBJ) $(FONTOBJ)
a0528984
EZ
592
593/* Object files used on some machine or other.
594 These go in the DOC file on all machines
595 in case they are needed there. */
04a697fe 596SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
d87a9ab8 597 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
03cb0f35 598 mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o \
d87a9ab8 599 w32.o w32bdf.o w32console.o w32fns.o w32heap.o w32inevt.o \
7de94409 600 w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o $(FONTOBJ)
a0528984
EZ
601
602
603#ifdef TERMINFO
604/* Used to be -ltermcap here. If your machine needs that,
605 define LIBS_TERMCAP in the m/MACHINE.h file. */
606#ifndef LIBS_TERMCAP
607#define LIBS_TERMCAP -lcurses
608#endif /* LIBS_TERMCAP */
609termcapobj = terminfo.o
610#else /* ! defined (TERMINFO) */
611#ifndef LIBS_TERMCAP
612#define LIBS_TERMCAP
613termcapobj = termcap.o tparam.o
614#else /* LIBS_TERMCAP */
615termcapobj = tparam.o
616#endif /* LIBS_TERMCAP */
617#endif /* ! defined (TERMINFO) */
618
619
620#ifndef SYSTEM_MALLOC
621
2fa0eedf
RS
622#ifndef DOUG_LEA_MALLOC
623gmallocobj = gmalloc.o
624#endif
625
a0528984 626#ifdef REL_ALLOC
2fa0eedf
RS
627rallocobj = ralloc.o
628#endif
629
630mallocobj = $(gmallocobj) $(rallocobj) vm-limit.o
a0528984
EZ
631
632#endif /* SYSTEM_MALLOC */
633
634
a0528984
EZ
635#ifdef USE_X_TOOLKIT
636widgetobj= widget.o
637#else /* not USE_X_TOOLKIT */
638widgetobj=
639#endif /* not USE_X_TOOLKIT */
640
641
642/* define otherobj as list of object files that make-docfile
643 should not be told about. */
6b61353c
KH
644#ifdef CYGWIN
645/* Cygwin differs because of its unexec(). */
67d20687 646otherobj= $(termcapobj) $(gmallocobj) $(rallocobj) lastfile.o vm-limit.o $(widgetobj) $(LIBOBJS)
6b61353c 647#else
67d20687 648otherobj= $(termcapobj) lastfile.o $(mallocobj) $(widgetobj) $(LIBOBJS)
6b61353c 649#endif
a0528984
EZ
650
651#ifdef HAVE_MOUSE
652#define MOUSE_SUPPORT ${lispsource}mouse.elc \
653 ${lispsource}select.elc ${lispsource}scroll-bar.elc
654#else
dd7c5963
NR
655#ifdef HAVE_GPM
656#define MOUSE_SUPPORT ${lispsource}mouse.elc
657#else
a0528984
EZ
658#define MOUSE_SUPPORT
659#endif
dd7c5963 660#endif
a0528984
EZ
661
662#ifdef VMS
663#define VMS_SUPPORT ${lispsource}vmsproc.elc ${lispsource}vms-patch.elc
664#else
665#define VMS_SUPPORT
666#endif
667
668#ifdef MSDOS
669#define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
670 ${lispsource}dos-fns.elc ${lispsource}dos-w32.elc ${lispsource}dos-vars.elc \
671 ${lispsource}international/ccl.elc ${lispsource}international/codepage.elc
672
673#else
674#define MSDOS_SUPPORT
675#endif
676
414546fb
NR
677#ifdef HAVE_WINDOW_SYSTEM
678#ifdef HAVE_X_WINDOWS
d76c7a77 679#define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \
414546fb
NR
680 ${lispsource}international/fontset.elc ${lispsource}dnd.elc \
681 ${lispsource}tool-bar.elc ${lispsource}mwheel.elc ${lispsource}x-dnd.elc
682#else
d76c7a77 683#define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \
414546fb
NR
684 ${lispsource}international/fontset.elc ${lispsource}dnd.elc \
685 ${lispsource}tool-bar.elc ${lispsource}mwheel.elc
686#endif
687#else
688#define WINDOW_SUPPORT
689#endif
690
a0528984 691#ifdef WINDOWSNT
1f1bce0e
JR
692#define WINNT_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
693 ${lispsource}dos-w32.elc ${lispsource}w32-vars.elc \
694 ${lispsource}w32-fns.elc
a0528984
EZ
695#else
696#define WINNT_SUPPORT
697#endif
698
875baa34
LT
699#ifdef HAVE_WINDOW_SYSTEM
700#define TOOLTIP_SUPPORT ${lispsource}tooltip.elc
701#else
702#define TOOLTIP_SUPPORT
703#endif
704
be9b5a60
SM
705/* List of Lisp files loaded into the dumped Emacs. It is arranged
706 like this because it is easier to generate it semi-mechanically from
a0528984
EZ
707 loadup.el this way.
708
709 Note that this list should not include lisp files which might not
710 be present, like site-load.el and site-init.el; this makefile
711 expects them all to be either present or buildable.
712
713 Files which are loaded unconditionally should be in shortlisp as well.
714 Files included conditionally here should be included (unconditionally)
715 in SOME_MACHINE_LISP. */
716
717lisp= \
718 ${lispsource}abbrev.elc \
719 ${lispsource}buff-menu.elc \
aae5b722 720 ${lispsource}button.elc \
f984e73e 721 ${lispsource}emacs-lisp/byte-run.elc \
731055f5 722 ${lispsource}composite.elc \
bfcf6dbe 723 ${lispsource}cus-face.elc \
d381a855 724 ${lispsource}cus-start.elc \
a0528984 725 ${lispsource}custom.elc \
6e860d15 726 ${lispsource}emacs-lisp/backquote.elc \
a0528984
EZ
727 ${lispsource}emacs-lisp/lisp-mode.elc \
728 ${lispsource}emacs-lisp/lisp.elc \
729 ${lispsource}env.elc \
730 ${lispsource}faces.elc \
731 ${lispsource}files.elc \
732 ${lispsource}format.elc \
733 ${lispsource}facemenu.elc \
734 MOUSE_SUPPORT \
f984e73e 735 ${lispsource}emacs-lisp/float-sup.elc \
af0ad939 736 ${lispsource}frame.elc \
a0528984
EZ
737 ${lispsource}help.elc \
738 ${lispsource}indent.elc \
739 ${lispsource}isearch.elc \
29f05691 740 ${lispsource}rfn-eshadow.elc \
a0528984
EZ
741 ${lispsource}loadup.el \
742 ${lispsource}loaddefs.el \
aae5b722 743 ${lispsource}bindings.elc \
f984e73e 744 ${lispsource}emacs-lisp/map-ynp.elc \
a0528984
EZ
745 ${lispsource}menu-bar.elc \
746 ${lispsource}international/mule.elc \
747 ${lispsource}international/mule-conf.el \
748 ${lispsource}international/mule-cmds.elc \
749 ${lispsource}international/characters.elc \
15e2814c 750 ${lispsource}international/charprop.el \
a0528984 751 ${lispsource}case-table.elc \
050c6022 752 ${lispsource}language/chinese.el \
7e4c0466 753 ${lispsource}language/cyrillic.el \
054ccc15 754 ${lispsource}language/indian.el \
cc8d1311 755 ${lispsource}language/sinhala.el \
74fc84af 756 ${lispsource}language/english.el \
a0528984
EZ
757 ${lispsource}language/ethiopic.elc \
758 ${lispsource}language/european.elc \
74fc84af
EZ
759 ${lispsource}language/czech.el \
760 ${lispsource}language/slovak.el \
761 ${lispsource}language/romanian.el \
762 ${lispsource}language/greek.el \
763 ${lispsource}language/hebrew.el \
764 ${lispsource}language/japanese.el \
765 ${lispsource}language/korean.el \
766 ${lispsource}language/lao.el \
c9228487 767 ${lispsource}language/cham.el \
16460a76 768 ${lispsource}language/tai-viet.el \
74fc84af 769 ${lispsource}language/thai.el \
a0528984 770 ${lispsource}language/tibetan.elc \
7e4c0466 771 ${lispsource}language/vietnamese.el \
74fc84af 772 ${lispsource}language/misc-lang.el \
1e9a6186
DL
773 ${lispsource}language/utf-8-lang.el \
774 ${lispsource}language/georgian.el \
0e45710c 775 ${lispsource}language/khmer.el \
7f6519c5 776 ${lispsource}language/burmese.el \
a0528984
EZ
777 ${lispsource}paths.el \
778 ${lispsource}register.elc \
779 ${lispsource}replace.elc \
780 ${lispsource}simple.elc \
32bae13c 781 ${lispsource}minibuffer.elc \
a0528984
EZ
782 ${lispsource}startup.elc \
783 ${lispsource}subr.elc \
784 ${lispsource}term/tty-colors.elc \
bfcf6dbe 785 ${lispsource}font-core.elc \
1f7b1131
DN
786 ${lispsource}emacs-lisp/syntax.elc \
787 ${lispsource}font-lock.elc \
788 ${lispsource}jit-lock.elc \
a0528984
EZ
789 ${lispsource}textmodes/fill.elc \
790 ${lispsource}textmodes/page.elc \
791 ${lispsource}textmodes/paragraphs.elc \
792 ${lispsource}textmodes/text-mode.elc \
f984e73e 793 ${lispsource}emacs-lisp/timer.elc \
6e6851b0 794 ${lispsource}jka-cmpr-hook.elc \
a0528984
EZ
795 ${lispsource}vc-hooks.elc \
796 ${lispsource}ediff-hook.elc \
875baa34 797 TOOLTIP_SUPPORT \
a0528984
EZ
798 VMS_SUPPORT \
799 MSDOS_SUPPORT \
800 WINNT_SUPPORT \
414546fb 801 WINDOW_SUPPORT \
a0528984
EZ
802 ${lispsource}widget.elc \
803 ${lispsource}window.elc \
804 ${lispsource}version.el
805
806/* These are relative file names for the Lisp files
807 that are loaded unconditionally. This is used in make-docfile.
808 It need not contain the files that are loaded conditionally
809 because SOME_MACHINE_LISP has those. */
810shortlisp= \
811 ../lisp/abbrev.elc \
812 ../lisp/buff-menu.elc \
aae5b722 813 ../lisp/button.elc \
f984e73e 814 ../lisp/emacs-lisp/byte-run.elc \
731055f5 815 ../lisp/composite.elc \
bfcf6dbe 816 ../lisp/cus-face.elc \
d381a855 817 ../lisp/cus-start.elc \
a0528984 818 ../lisp/custom.elc \
f7d5d963 819 ../lisp/emacs-lisp/backquote.elc \
a0528984
EZ
820 ../lisp/emacs-lisp/lisp-mode.elc \
821 ../lisp/emacs-lisp/lisp.elc \
822 ../lisp/facemenu.elc \
823 ../lisp/faces.elc \
824 ../lisp/files.elc \
f984e73e 825 ../lisp/emacs-lisp/float-sup.elc \
a0528984
EZ
826 ../lisp/format.elc \
827 ../lisp/frame.elc \
828 ../lisp/help.elc \
829 ../lisp/indent.elc \
830 ../lisp/isearch.elc \
29f05691 831 ../lisp/rfn-eshadow.elc \
a0528984
EZ
832 ../lisp/loadup.el \
833 ../lisp/loaddefs.el \
aae5b722 834 ../lisp/bindings.elc \
f984e73e 835 ../lisp/emacs-lisp/map-ynp.elc \
a0528984
EZ
836 ../lisp/env.elc \
837 ../lisp/international/mule.elc \
838 ../lisp/international/mule-conf.el \
839 ../lisp/international/mule-cmds.elc \
840 ../lisp/international/characters.elc \
841 ../lisp/case-table.elc \
050c6022 842 ../lisp/language/chinese.el \
7e4c0466 843 ../lisp/language/cyrillic.el \
054ccc15 844 ../lisp/language/indian.el \
cc8d1311 845 ../lisp/language/sinhala.el \
74fc84af 846 ../lisp/language/english.el \
a0528984
EZ
847 ../lisp/language/ethiopic.elc \
848 ../lisp/language/european.elc \
74fc84af
EZ
849 ../lisp/language/czech.el \
850 ../lisp/language/slovak.el \
851 ../lisp/language/romanian.el \
852 ../lisp/language/greek.el \
853 ../lisp/language/hebrew.el \
854 ../lisp/language/japanese.el \
855 ../lisp/language/korean.el \
856 ../lisp/language/lao.el \
c9228487 857 ../lisp/language/cham.el \
16460a76 858 ../lisp/language/tai-viet.el \
74fc84af 859 ../lisp/language/thai.el \
a0528984 860 ../lisp/language/tibetan.elc \
7e4c0466 861 ../lisp/language/vietnamese.el \
74fc84af 862 ../lisp/language/misc-lang.el \
1e9a6186
DL
863 ../lisp/language/utf-8-lang.el \
864 ../lisp/language/georgian.el \
0e45710c 865 ../lisp/language/khmer.el \
7f6519c5 866 ../lisp/language/burmese.el \
f7d5d963 867 ../lisp/menu-bar.elc \
a0528984
EZ
868 ../lisp/paths.el \
869 ../lisp/register.elc \
870 ../lisp/replace.elc \
871 ../lisp/simple.elc \
32bae13c 872 ../lisp/minibuffer.elc \
a0528984
EZ
873 ../lisp/startup.elc \
874 ../lisp/subr.elc \
875 ../lisp/term/tty-colors.elc \
59809627 876 ../lisp/font-core.elc \
1f7b1131
DN
877 ../lisp/emacs-lisp/syntax.elc \
878 ../lisp/font-lock.elc \
879 ../lisp/jit-lock.elc \
a0528984
EZ
880 ../lisp/textmodes/fill.elc \
881 ../lisp/textmodes/page.elc \
882 ../lisp/textmodes/paragraphs.elc \
883 ../lisp/textmodes/text-mode.elc \
f984e73e 884 ../lisp/emacs-lisp/timer.elc \
a0528984 885 ../lisp/vc-hooks.elc \
6e6851b0 886 ../lisp/jka-cmpr-hook.elc \
a0528984
EZ
887 ../lisp/ediff-hook.elc \
888 ../lisp/widget.elc \
889 ../lisp/window.elc \
890 ../lisp/version.el
891
892/* Lisp files that may or may not be used.
893 We must unconditionally put them in the DOC file.
894 We use ../lisp/ to start the file names
895 to reduce the size of the argument list for make-docfile
5aa17bb2 896 for the sake of systems which can''t handle large ones. */
f7d5d963 897SOME_MACHINE_LISP = ${dotdot}/lisp/mouse.elc \
a0528984 898 ${dotdot}/lisp/select.elc ${dotdot}/lisp/scroll-bar.elc \
73e72da4 899 VMS_SUPPORT \
a0528984
EZ
900 ${dotdot}/lisp/ls-lisp.elc ${dotdot}/lisp/dos-fns.elc \
901 ${dotdot}/lisp/w32-fns.elc ${dotdot}/lisp/dos-w32.elc \
902 ${dotdot}/lisp/disp-table.elc ${dotdot}/lisp/dos-vars.elc \
414546fb 903 ${dotdot}/lisp/tooltip.elc ${dotdot}/lisp/image.elc \
6e9fa979
EZ
904 ${dotdot}/lisp/fringe.elc ${dotdot}/lisp/dnd.elc \
905 ${dotdot}/lisp/mwheel.elc ${dotdot}/lisp/tool-bar.elc \
414546fb 906 ${dotdot}/lisp/x-dnd.elc \
a0528984 907 ${dotdot}/lisp/international/ccl.elc \
414546fb 908 ${dotdot}/lisp/international/codepage.elc \
ae4a0f10 909 ${dotdot}/lisp/international/fontset.elc \
c3a63088 910 ${dotdot}/lisp/mouse.elc \
774a8da1 911 ${dotdot}/lisp/term/x-win.elc
a0528984
EZ
912
913/* Construct full set of libraries to be linked.
914 Note that SunOS needs -lm to come before -lc; otherwise, you get
915 duplicated symbols. If the standard libraries were compiled
916 with GCC, we might need gnulib again after them. */
033b73e2
MA
917LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) $(RSVG_LIBS) $(DBUS_LIBS) \
918 LIBGPM LIBRESOLV LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
22f5bb01 919 LIBS_DEBUG $(GETLOADAVG_LIBS) \
ac96711a 920 @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \
22f5bb01 921 $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR)
a0528984
EZ
922
923/* Enable recompilation of certain other files depending on system type. */
924
925#ifndef OTHER_FILES
926#define OTHER_FILES
927#endif
928
929#ifndef OBJECTS_MACHINE
930#define OBJECTS_MACHINE
931#endif
932
462a725d
KH
933#ifdef HAVE_SHM
934RUN_TEMACS = `/bin/pwd`/temacs -nl
935#else
936RUN_TEMACS = `/bin/pwd`/temacs
937#endif
83f1cb94 938
108c7c97 939all: emacs${EXEEXT} OTHER_FILES
a0528984 940
108c7c97 941emacs${EXEEXT}: temacs${EXEEXT} ${etc}DOC ${lisp}
a0528984 942#ifdef CANNOT_DUMP
108c7c97
AS
943 rm -f emacs${EXEEXT}
944 ln temacs${EXEEXT} emacs${EXEEXT}
a0528984 945#else
83f1cb94 946 LC_ALL=C $(RUN_TEMACS) -batch -l loadup dump
a0528984
EZ
947#endif /* ! defined (CANNOT_DUMP) */
948 -./emacs -q -batch -f list-load-path-shadows
949
950/* We run make-docfile twice because the command line may get too long
951 on some systems. */
952/* ${SOME_MACHINE_OBJECTS} comes before ${obj} because some files may
953 or may not be included in ${obj}, but they are always included in
954 ${SOME_MACHINE_OBJECTS}. Since a file is processed when it is mentioned
955 for the first time, this prevents any variation between configurations
956 in the contents of the DOC file.
957 Likewise for ${SOME_MACHINE_LISP}. */
8edacacd 958${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${shortlisp} ${SOME_MACHINE_LISP}
a0528984
EZ
959 -rm -f ${etc}DOC
960 ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
961 ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
962
108c7c97
AS
963${libsrc}make-docfile${EXEEXT}:
964 cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile${EXEEXT}
a0528984 965
deeaffe1 966temacs${EXEEXT}: $(LOCALCPP) $(STARTFILES) stamp-oldxmenu ${obj} ${otherobj} OBJECTS_MACHINE prefix-args${EXEEXT}
bd45f31d 967 echo "${obj} ${otherobj} " OBJECTS_MACHINE > buildobj.lst
dfe15ea3 968 $(LD) YMF_PASS_LDFLAGS (${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS) \
a0528984
EZ
969 -o temacs ${STARTFILES} ${obj} ${otherobj} \
970 OBJECTS_MACHINE ${LIBES}
971
be9b5a60 972/* We do not use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
5aa17bb2 973 often contain options that have to do with using Emacs''s crt0,
a0528984 974 which are only good with temacs. */
108c7c97 975prefix-args${EXEEXT}: prefix-args.c $(config_h)
a0528984
EZ
976 $(CC) $(ALL_CFLAGS) $(LDFLAGS) ${srcdir}/prefix-args.c -o prefix-args
977
a51f4969 978#if defined (HAVE_X_WINDOWS) && defined (HAVE_X11) && defined (HAVE_MENUS) && ! defined (USE_GTK)
a0528984
EZ
979
980/* We use stamp-xmenu with these two deps
981 to both ensure that lwlib gets remade based on its dependencies
982 in its own makefile,
983 and remake temacs if lwlib gets changed by this. */
c60ee5e7 984stamp-oldxmenu: ${OLDXMENU} ../src/$(OLDXMENU)
a0528984
EZ
985 touch stamp-oldxmenu
986/* Supply an ordering for parallel make. */
987../src/$(OLDXMENU): ${OLDXMENU}
988
a0528984
EZ
989/* Encode the values of these two macros in Make variables,
990 so we can use $(...) to substitute their values within "...". */
991C_SWITCH_MACHINE_1 = C_SWITCH_MACHINE
992C_SWITCH_SYSTEM_1 = C_SWITCH_SYSTEM
993C_SWITCH_SITE_1 = C_SWITCH_SITE
994C_SWITCH_X_SITE_1 = C_SWITCH_X_SITE
995C_SWITCH_X_MACHINE_1 = C_SWITCH_X_MACHINE
996C_SWITCH_X_SYSTEM_1 = C_SWITCH_X_SYSTEM
deeaffe1
DN
997
998#ifdef USE_X_TOOLKIT
999$(OLDXMENU): really-lwlib
1000
a0528984 1001really-lwlib:
6b61353c 1002 cd ${lwlibdir}; ${MAKE} ${MFLAGS} \
a0528984
EZ
1003 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' \
1004 "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \
1005 "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \
1006 "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \
1007 "C_SWITCH_SITE=$(C_SWITCH_SITE_1)" \
1008 "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \
1009 "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
1010 @true /* make -t should not create really-lwlib. */
1011.PHONY: really-lwlib
1012#else /* not USE_X_TOOLKIT */
1013$(OLDXMENU): really-oldXMenu
1014
a0528984 1015really-oldXMenu:
9c28b587 1016 cd ${oldXMenudir}; ${MAKE} ${MFLAGS} \
a0528984
EZ
1017 CC='${CC}' CFLAGS='${CFLAGS}' MAKE='${MAKE}' \
1018 "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \
1019 "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \
1020 "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \
1021 "C_SWITCH_SITE=$(C_SWITCH_SITE_1)" \
1022 "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \
1023 "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
1024 @true /* make -t should not create really-oldXMenu. */
1025.PHONY: really-oldXMenu
1026#endif /* not USE_X_TOOLKIT */
a51f4969 1027#else /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! USE_GTK) */
a0528984 1028
5aa17bb2 1029/* We don''t really need this, but satisfy the dependency. */
a0528984
EZ
1030stamp-oldxmenu:
1031 touch stamp-oldxmenu
a51f4969 1032#endif /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! USE_GTK) */
a0528984
EZ
1033
1034../config.status:: epaths.in
1035 @echo "The file epaths.h needs to be set up from epaths.in."
1036 @echo "Please run the `configure' script again."
1037 exit 1
1038
1039../config.status:: config.in
1040 @echo "The file config.h needs to be set up from config.in."
1041 @echo "Please run the `configure' script again."
1042 exit 1
1043
a0528984
EZ
1044/* Nearly all the following files depend on lisp.h,
1045 but it is not included as a dependency because
1046 it is so often changed in ways that do not require any recompilation
1047 and so rarely changed in ways that do require any. */
1048
85969c22 1049abbrev.o: abbrev.c buffer.h window.h dispextern.h commands.h character.h \
21065c92 1050 syntax.h $(config_h)
a0528984 1051buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \
85969c22 1052 dispextern.h $(INTERVAL_SRC) blockinput.h atimer.h systime.h character.h \
a0528984 1053 $(config_h)
21065c92 1054callint.o: callint.c window.h commands.h buffer.h keymap.h \
a0528984
EZ
1055 keyboard.h dispextern.h $(config_h)
1056callproc.o: callproc.c epaths.h buffer.h commands.h $(config_h) \
8f924df7 1057 process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \
f105f403 1058 composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h
85969c22 1059casefiddle.o: casefiddle.c syntax.h commands.h buffer.h character.h \
a63aa692 1060 composite.h \
21065c92 1061 charset.h keymap.h $(config_h)
a0528984 1062casetab.o: casetab.c buffer.h $(config_h)
a63aa692
MB
1063category.o: category.c category.h buffer.h charset.h keymap.h \
1064 character.h $(config_h)
85969c22
KH
1065ccl.o: ccl.c ccl.h charset.h character.h coding.h $(config_h)
1066character.o: character.c character.h buffer.h charset.h composite.h disptab.h \
1067 $(config.h)
1068charset.o: charset.c charset.h character.h buffer.h coding.h composite.h \
1069 disptab.h $(config_h)
5d4e3d2e 1070chartab.o: charset.h character.h $(config.h)
a63aa692 1071coding.o: coding.c coding.h ccl.h buffer.h character.h charset.h intervals.h composite.h \
267eea21 1072 window.h dispextern.h frame.h termhooks.h $(config_h)
91b726f0 1073cm.o: cm.c frame.h cm.h termhooks.h termchar.h $(config_h)
85969c22 1074cmds.o: cmds.c syntax.h buffer.h character.h commands.h window.h $(config_h) \
21065c92 1075 msdos.h dispextern.h keyboard.h keymap.h
a0528984
EZ
1076pre-crt0.o: pre-crt0.c
1077ecrt0.o: ecrt0.c $(config_h)
1078 CRT0_COMPILE ${srcdir}/ecrt0.c
85969c22 1079dired.o: dired.c commands.h buffer.h $(config_h) character.h charset.h \
d85d3839 1080 coding.h regex.h systime.h blockinput.h atimer.h
985773c9 1081dispnew.o: dispnew.c systime.h commands.h process.h frame.h \
4524691f 1082 window.h buffer.h dispextern.h termchar.h termopts.h termhooks.h cm.h \
21065c92 1083 disptab.h indent.h intervals.h \
85969c22 1084 xterm.h blockinput.h atimer.h character.h msdos.h composite.h keyboard.h \
a0528984 1085 $(config_h)
a63aa692 1086doc.o: doc.c $(config_h) epaths.h buffer.h keyboard.h keymap.h character.h
85969c22 1087doprnt.o: doprnt.c character.h $(config_h)
21065c92 1088dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \
ffb72b67
YM
1089 msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \
1090 $(config_h)
85969c22 1091editfns.o: editfns.c window.h buffer.h systime.h $(INTERVAL_SRC) character.h \
ffb72b67 1092 coding.h dispextern.h frame.h blockinput.h atimer.h $(config_h)
a0528984 1093emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
6b61353c 1094 termhooks.h buffer.h atimer.h systime.h $(INTERVAL_SRC) $(config_h) \
21065c92 1095 window.h dispextern.h keyboard.h keymap.h
85969c22 1096fileio.o: fileio.c window.h buffer.h systime.h $(INTERVAL_SRC) character.h \
ffb72b67 1097 coding.h msdos.h dispextern.h blockinput.h atimer.h $(config_h)
8f924df7
KH
1098filelock.o: filelock.c buffer.h character.h charset.h coding.h systime.h \
1099 epaths.h $(config_h)
a0528984
EZ
1100filemode.o: filemode.c $(config_h)
1101frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
8f924df7 1102 blockinput.h atimer.h systime.h buffer.h character.h fontset.h \
267eea21 1103 msdos.h dosfns.h dispextern.h w32term.h macterm.h termchar.h $(config_h)
47632e43 1104fringe.o: fringe.c dispextern.h frame.h window.h buffer.h termhooks.h $(config_h)
08b1e593
KH
1105font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \
1106 font.h $(config_h)
7de94409 1107ftfont.o: dispextern.h frame.h character.h charset.h font.h $(config_h)
85969c22 1108fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h character.h \
c73bd236 1109 charset.h frame.h keyboard.h termhooks.h $(FONTSRC) $(config_h)
a0528984 1110getloadavg.o: getloadavg.c $(config_h)
6b61353c
KH
1111image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \
1112 systime.h xterm.h w32term.h w32gui.h macterm.h macgui.h $(config_h)
a0528984 1113indent.o: indent.c frame.h window.h indent.h buffer.h $(config_h) termchar.h \
85969c22
KH
1114 termopts.h disptab.h region-cache.h character.h category.h composite.h \
1115 dispextern.h keyboard.h
1116insdel.o: insdel.c window.h buffer.h $(INTERVAL_SRC) blockinput.h character.h \
21065c92 1117 dispextern.h atimer.h systime.h region-cache.h $(config_h)
85969c22 1118keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \
a0528984 1119 commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \
91b726f0 1120 systime.h dispextern.h syntax.h $(INTERVAL_SRC) blockinput.h \
21065c92 1121 atimer.h xterm.h puresize.h msdos.h keymap.h w32term.h macterm.h $(config_h)
a0528984 1122keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
46538474 1123 atimer.h systime.h puresize.h character.h intervals.h keymap.h window.h \
b74e16a3 1124 $(config_h)
a0528984
EZ
1125lastfile.o: lastfile.c $(config_h)
1126macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h \
1127 dispextern.h $(config_h)
1128malloc.o: malloc.c $(config_h)
1129gmalloc.o: gmalloc.c $(config_h)
1130ralloc.o: ralloc.c $(config_h)
1131vm-limit.o: vm-limit.c mem-limits.h $(config_h)
85969c22 1132marker.o: marker.c buffer.h character.h $(config_h)
39c9a034 1133md5.o: md5.c md5.h $(config_h)
a0528984 1134minibuf.o: minibuf.c syntax.h dispextern.h frame.h window.h keyboard.h \
c73bd236 1135 buffer.h commands.h character.h msdos.h $(INTERVAL_SRC) keymap.h \
47632e43 1136 termhooks.h $(config_h)
a0528984 1137mktime.o: mktime.c $(config_h)
a0528984 1138msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
85969c22 1139 termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \
ffb72b67 1140 keyboard.h intervals.h buffer.h commands.h blockinput.h atimer.h $(config_h)
a0528984
EZ
1141process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \
1142 commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
1143 blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
1144 keyboard.h $(config_h)
85969c22
KH
1145regex.o: regex.c syntax.h buffer.h $(config_h) regex.h category.h character.h \
1146 charset.h
dd6ab82f 1147region-cache.o: region-cache.c buffer.h region-cache.h $(config_h)
a0528984 1148scroll.o: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \
91b726f0 1149 termhooks.h $(config_h)
a0528984 1150search.o: search.c regex.h commands.h buffer.h region-cache.h syntax.h \
6660e3a8
KH
1151 blockinput.h atimer.h systime.h category.h character.h charset.h \
1152 composite.h $(INTERVAL_SRC) \
85969c22 1153 $(config_h)
a0528984 1154strftime.o: strftime.c $(config_h)
85969c22 1155syntax.o: syntax.c syntax.h buffer.h commands.h category.h character.h \
21065c92 1156 composite.h keymap.h regex.h $(INTERVAL_SRC) $(config_h)
4524691f
RS
1157sysdep.o: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \
1158 process.h dispextern.h termhooks.h termchar.h termopts.h \
91b726f0 1159 frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h $(config_h)
a0528984 1160term.o: term.c termchar.h termhooks.h termopts.h $(config_h) cm.h frame.h \
85969c22 1161 disptab.h dispextern.h keyboard.h character.h charset.h coding.h ccl.h \
d85d3839 1162 msdos.h window.h keymap.h blockinput.h atimer.h systime.h
a0528984 1163termcap.o: termcap.c $(config_h)
ed8dad6b
KL
1164terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
1165 keyboard.h $(config_h)
a0528984
EZ
1166terminfo.o: terminfo.c $(config_h)
1167tparam.o: tparam.c $(config_h)
9cb38333 1168undo.o: undo.c buffer.h commands.h window.h $(config_h)
a0528984
EZ
1169/* This hack is to discard any space that cpp might put at the beginning
1170 of UNEXEC when substituting it in. */
1171UNEXEC_ALIAS=UNEXEC
1172$(UNEXEC_ALIAS): UNEXEC_SRC $(config_h)
1173w16select.o: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \
21065c92 1174 msdos.h buffer.h charset.h coding.h composite.h $(config_h)
a0528984
EZ
1175widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \
1176 $(srcdir)/../lwlib/lwlib.h $(config_h)
1177window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
91b726f0 1178 disptab.h keyboard.h dispextern.h msdos.h composite.h \
ffb72b67
YM
1179 keymap.h blockinput.h atimer.h systime.h $(INTERVAL_SRC) \
1180 xterm.h w32term.h macterm.h $(config_h)
a63aa692
MB
1181xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \
1182 coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \
d85d3839
MB
1183 charset.h $(config_h) keyboard.h $(INTERVAL_SRC) region-cache.h xterm.h \
1184 w32term.h macterm.h msdos.h composite.h fontset.h blockinput.h atimer.h \
7de94409 1185 systime.h keymap.h $(FONTSRC)
a63aa692
MB
1186xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
1187 window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \
d85d3839 1188 systime.h keyboard.h fontset.h w32term.h macterm.h $(INTERVAL_SRC) \
c73bd236 1189 termchar.h termhooks.h $(FONTSRC) $(config_h)
a0528984
EZ
1190xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
1191 $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \
7de94409 1192 character.h charset.h coding.h gtkutil.h $(config_h) termhooks.h \
c73bd236 1193 fontset.h termchar.h $(FONTSRC)
7de94409
KH
1194xfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1195 font.h $(config_h)
1196xftfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1197 font.h $(config_h)
1198ftxfont.o: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1199 font.h $(config_h)
c2d0b18a 1200xmenu.o: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \
85969c22 1201 charset.h keyboard.h $(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h \
6b61353c 1202 systime.h gtkutil.h msdos.h coding.h $(config_h)
c2d0b18a 1203xterm.o: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \
85969c22 1204 dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
73f838ad 1205 keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \
7de94409 1206 coding.h process.h gtkutil.h $(FONTSRC) $(config_h)
4524691f 1207xselect.o: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \
91b726f0 1208 buffer.h atimer.h systime.h termhooks.h $(config_h)
a0528984 1209xrdb.o: xrdb.c $(config_h) epaths.h
6b61353c
KH
1210xsmfns.o: xsmfns.c $(config_h) systime.h sysselect.h termhooks.h xterm.h \
1211 lisp.h termopts.h
033b73e2 1212gtkutil.o: gtkutil.c gtkutil.h xterm.h lisp.h frame.h $(config_h) \
ffb72b67
YM
1213 blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \
1214 charset.h coding.h
033b73e2 1215dbusbind.o: dbusbind.c termhooks.h $(config_h)
488dd4c4 1216
a0528984
EZ
1217hftctl.o: hftctl.c $(config_h)
1218sound.o: sound.c dispextern.h $(config_h)
1219atimer.o: atimer.c atimer.h systime.h $(config_h)
1220
1221/* The files of Lisp proper */
1222
4524691f 1223alloc.o: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h keyboard.h \
85969c22
KH
1224 blockinput.h atimer.h systime.h character.h dispextern.h $(config_h) \
1225 $(INTERVAL_SRC)
a63aa692 1226bytecode.o: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \
21065c92 1227 frame.h xterm.h $(config_h)
a63aa692 1228data.o: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \
c73bd236 1229 termhooks.h $(config_h)
a0528984 1230eval.o: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \
6b61353c 1231 dispextern.h $(config_h)
a0528984 1232floatfns.o: floatfns.c $(config_h)
85969c22 1233fns.o: fns.c commands.h $(config_h) frame.h buffer.h character.h keyboard.h \
21065c92 1234 keymap.h frame.h window.h dispextern.h $(INTERVAL_SRC) coding.h md5.h \
e18c7093 1235 blockinput.h atimer.h systime.h xterm.h termhooks.h
85969c22 1236print.o: print.c process.h frame.h window.h buffer.h keyboard.h character.h \
985773c9 1237 $(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h \
ffb72b67 1238 blockinput.h atimer.h systime.h
85969c22 1239lread.o: lread.c commands.h keyboard.h buffer.h epaths.h character.h \
985773c9 1240 charset.h $(config_h) $(INTERVAL_SRC) termhooks.h coding.h msdos.h
a0528984
EZ
1241
1242/* Text properties support */
1243textprop.o: textprop.c buffer.h window.h dispextern.h $(INTERVAL_SRC) \
1244 $(config_h)
21065c92
EZ
1245intervals.o: intervals.c buffer.h $(INTERVAL_SRC) keyboard.h puresize.h \
1246 keymap.h $(config_h)
85969c22 1247composite.o: composite.c buffer.h character.h $(INTERVAL_SRC) $(config_h)
a0528984
EZ
1248
1249/* System-specific programs to be made.
1250 OTHER_FILES and OBJECTS_MACHINE
1251 select which of these should be compiled. */
1252
e0f712ba 1253#ifdef HAVE_CARBON
e047f448 1254buffer.o callint.o cmds.o dispnew.o editfns.o fileio.o frame.o \
e0f712ba 1255 fontset.o indent.o insdel.o keyboard.o macros.o minibuf.o msdos.o process.o \
ed8dad6b 1256 scroll.o sysdep.o term.o terminal.o widget.o window.o xdisp.o xfaces.o xfns.o xmenu.o \
e0f712ba 1257 xterm.o xselect.o sound.o: macgui.h
f3cf04d3 1258mac.o: mac.c process.h sysselect.h blockinput.h atimer.h systime.h charset.h \
03cb0f35 1259 coding.h ccl.h $(config_h)
e0f712ba
AC
1260macfns.o: macfns.c charset.h macterm.h macgui.h frame.h window.h buffer.h \
1261 dispextern.h macgui.h fontset.h $(INTERVAL_SRC) keyboard.h blockinput.h \
ffb72b67 1262 atimer.h systime.h epaths.h termhooks.h coding.h $(config_h)
e0f712ba
AC
1263macmenu.o: macmenu.c termhooks.h frame.h window.h dispextern.h macgui.h \
1264 keyboard.h blockinput.h atimer.h systime.h buffer.h macterm.h $(config_h)
1265macterm.o: blockinput.h atimer.h systime.h syssignal.h macterm.h macgui.h \
1266 frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h termopts.h \
73f838ad 1267 termchar.h disptab.h buffer.h window.h keyboard.h $(INTERVAL_SRC) \
e0f712ba 1268 process.h coding.h $(config_h)
ffb72b67
YM
1269macselect.o: blockinput.h atimer.h systime.h macterm.h macgui.h frame.h \
1270 keymap.h $(config_h)
f4f1eb10
YM
1271mactoolbox.o: blockinput.h atimer.h systime.h macterm.h macgui.h frame.h \
1272 charset.h coding.h ccl.h dispextern.h fontset.h termhooks.h buffer.h \
1273 window.h keyboard.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
03bd3c1f 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:
03bd3c1f 1321 -rm -f emacs${EXEEXT} emacs-*.*.*${EXEEXT} ../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) */