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