1 # Makefile for GNU Emacs.
2 # Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002,
3 # 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4 # Free Software Foundation, Inc.
6 # This file is part of GNU Emacs.
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
10 # the Free Software Foundation, either version 3 of the License, or
11 # (at your option) any later version.
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.
18 # You should have received a copy of the GNU General Public License
19 # along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
22 # Note that this file is edited by msdos/sed1v2.inp for MSDOS. That
23 # script may need modifying in sync with changes made here. Try to
24 # avoid shell-ism because the DOS build has to use the DOS shell.
26 # Don't try to replace the cpp processing using autoconf facilities,
28 # Replacing a particular part of the conditionals to work via autoconf
30 # Some of the conditionals might be dead now. Finding them and
31 # deleting them would be fine.
35 # Here are the things that we expect ../configure to edit.
36 # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
38 abs_builddir
= @abs_builddir@
46 # Substitute an assignment for the MAKE variable, because
47 # BSD doesn't have it as a default.
49 # Don't use LIBS. configure puts stuff in it that either shouldn't be
50 # linked with Emacs or is duplicated by the cpp stuff below.
54 lispsource
= ${srcdir}/..
/lisp
/
57 oldXMenudir
= ..
/oldXMenu
/
61 # Configuration files for .o files to depend on.
62 M_FILE
= ${srcdir}/@machfile@
63 S_FILE
= ${srcdir}/@opsysfile@
64 config_h
= config.h
$(M_FILE
) $(S_FILE
)
66 bootstrap_exe
= ${abs_builddir}/bootstrap-emacs
${EXEEXT}
68 ## ns-app if HAVE_NS, else empty.
69 OTHER_FILES
= @OTHER_FILES@
73 ## Machine-specific CFLAGS.
74 C_SWITCH_MACHINE
=@C_SWITCH_MACHINE@
75 ## System-specific CFLAGS.
76 C_SWITCH_SYSTEM
=@C_SWITCH_SYSTEM@
78 ## Currently only set if NS_IMPL_GNUSTEP.
79 ## C_SWITCH_X_SITE may override this.
80 C_SWITCH_X_SYSTEM
=@C_SWITCH_X_SYSTEM@
82 ## Define C_SWITCH_X_SITE to contain any special flags your compiler
83 ## may need to deal with X Windows. For instance, if you've defined
84 ## HAVE_X_WINDOWS and your X include files aren't in a place that your
85 ## compiler can find on its own, you might want to add "-I/..." or
86 ## something similar. This is normally set by configure.
87 ## This is used before C_SWITCH_X_SYSTEM and may override it.
88 C_SWITCH_X_SITE
=@C_SWITCH_X_SITE@
90 ## Define LD_SWITCH_X_SITE to contain any special flags your loader
91 ## may need to deal with X Windows. For instance, if your X libraries
92 ## aren't in a place that your loader can find on its own, you might
93 ## want to add "-L/..." or something similar. Only used if
95 ## FIXME? configure sets a value for this, but it has never been
96 ## substituted in this or any other Makefile. Cf C_SWITCH_X_SITE.
99 ## This holds any special options for linking temacs only (ie, not
100 ## used by configure). Not used elsewhere because it sometimes
101 ## contains options that have to do with using Emacs's crt0,
102 ## which are only good with temacs.
103 LD_SWITCH_SYSTEM_TEMACS
=@LD_SWITCH_SYSTEM_TEMACS@
105 ## Next two must come before LD_SWITCH_SYSTEM.
106 ## If needed, a -R option that says where to find X windows at run time.
107 LD_SWITCH_X_SITE_AUX
=@LD_SWITCH_X_SITE_AUX@
108 ## As above, but using -rpath instead.
109 LD_SWITCH_X_SITE_AUX_RPATH
=@LD_SWITCH_X_SITE_AUX_RPATH@
111 ## System-specific LDFLAGS.
112 LD_SWITCH_SYSTEM
=@LD_SWITCH_SYSTEM@
113 LD_SWITCH_SYSTEM_EXTRA
=@LD_SWITCH_SYSTEM_EXTRA@
115 ## Flags to pass to ld only for temacs.
116 TEMACS_LDFLAGS
= $(LD_SWITCH_SYSTEM
) $(LD_SWITCH_SYSTEM_EXTRA
) $(LD_SWITCH_SYSTEM_TEMACS
)
118 ## $LDFLAGS, or empty if NS_IMPL_GNUSTEP (for some reason).
119 TEMACS_LDFLAGS2
= @TEMACS_LDFLAGS2@
121 ## Some systems define this to request special libraries.
122 LIBS_SYSTEM
=@LIBS_SYSTEM@
124 ## Where to find libgcc.a, if using gcc and necessary.
128 LIB_STANDARD
=@LIB_STANDARD@
139 LIBX_EXTRA
=$(LIBTIFF
) $(LIBJPEG
) $(LIBPNG
) $(LIBGIF
) $(LIBXPM
) -lX11
$(XFT_LIBS
)
141 FONTCONFIG_CFLAGS
= @FONTCONFIG_CFLAGS@
142 FONTCONFIG_LIBS
= @FONTCONFIG_LIBS@
143 FREETYPE_CFLAGS
= @FREETYPE_CFLAGS@
144 FREETYPE_LIBS
= @FREETYPE_LIBS@
145 LIBOTF_CFLAGS
= @LIBOTF_CFLAGS@
146 LIBOTF_LIBS
= @LIBOTF_LIBS@
147 M17N_FLT_CFLAGS
= @M17N_FLT_CFLAGS@
148 M17N_FLT_LIBS
= @M17N_FLT_LIBS@
150 DBUS_CFLAGS
= @DBUS_CFLAGS@
151 DBUS_LIBS
= @DBUS_LIBS@
152 DBUS_OBJ
= @DBUS_OBJ@
154 GCONF_CFLAGS
= @GCONF_CFLAGS@
155 GCONF_LIBS
= @GCONF_LIBS@
159 ## -ltermcap, or -lncurses, or -lcurses, or "".
160 LIBS_TERMCAP
=@LIBS_TERMCAP@
161 ## terminfo.o if TERMINFO, else tparam.o.
162 TERMCAP_OBJ
=@TERMCAP_OBJ@
170 ## $(LIBXMU) -lXt $(LIBXTR6) -lXext if USE_X_TOOLKIT, else $(LIBXSM).
171 ## Only used if HAVE_X_WINDOWS.
172 LIBXT_OTHER
=@LIBXT_OTHER@
174 ## Only used if HAVE_X11 && !USE_GTK.
175 ## really-lwlib if USE_X_TOOLKIT, else really-oldxmenu.
176 OLDXMENU_TARGET
=@OLDXMENU_TARGET@
178 ## If !HAVE_X11 || USE_GTK, empty.
179 ## Else if USE_X_TOOLKIT, ${lwlibdir}liblw.a.
180 ## Else ${oldXMenudir}libXMenu11.a.
183 ## If HAVE_X11 && !USE_GTK, ${OLDXMENU} ../src/${OLDXMENU}; else empty.
184 ## We use stamp-xmenu with these two deps to both ensure that lwlib
185 ## gets remade based on its dependencies in its own makefile,
186 ## and remake temacs if lwlib gets changed by this.
187 OLDXMENU_DEPS
=@OLDXMENU_DEPS@
189 ## If !HAVE_X11 && HAVE_X_WINDOWS, -lXMenu (this case no longer possible).
190 ## Else if !HAVE_X11 || USE_GTK, empty.
194 XMENU_OBJ
=@XMENU_OBJ@
197 TOOLKIT_LIBW
=@TOOLKIT_LIBW@
199 ## Only used if HAVE_X11, in LIBX_OTHER.
200 LIBXT
=$(TOOLKIT_LIBW
) $(LIBXT_OTHER
)
202 ## If HAVE_X11, $(LIBXT) $(LIBX_EXTRA), else empty.
203 LIBX_OTHER
=@LIBX_OTHER@
205 ## LIBXMENU is nil if !HAVE_X_WINDOWS.
206 ## LD_SWITCH_X_SITE should not be used if not using X, but nothing
207 ## sets it at present, and if something ever does, it should be
208 ## configure, which should set it to nil in non-X builds.
209 LIBX_BASE
=$(LIBXMENU
) $(LD_SWITCH_X_SITE
)
212 CFLAGS_SOUND
= @CFLAGS_SOUND@
214 RSVG_LIBS
= @RSVG_LIBS@
215 RSVG_CFLAGS
= @RSVG_CFLAGS@
217 ## widget.o if USE_X_TOOLKIT, otherwise empty.
218 WIDGET_OBJ
=@WIDGET_OBJ@
220 ## sheap.o if CYGWIN, otherwise empty.
221 CYGWIN_OBJ
=@CYGWIN_OBJ@
223 ## dosfns.o msdos.o w16select.o if MSDOS.
225 ## w16select.o termcap.o if MSDOS && HAVE_X_WINDOWS.
227 MSDOS_SUPPORT_REAL
= ${lispsource}ls-lisp.elc
${lispsource}disp-table.elc \
228 ${lispsource}dos-fns.elc
${lispsource}dos-w32.elc
${lispsource}dos-vars.elc \
229 ${lispsource}term
/internal.elc
${lispsource}term
/pc-win.elc
230 ## $MSDOS_SUPPORT_REAL if MSDOS.
233 ns_appdir
=@ns_appdir@
234 ns_appbindir
=@ns_appbindir@
235 ns_appsrc
=@ns_appsrc@
237 NS_SUPPORT
=@NS_SUPPORT@
238 ## Only set if NS_IMPL_GNUSTEP.
239 GNU_OBJC_CFLAGS
=@GNU_OBJC_CFLAGS@
241 ## Empty if !HAVE_X_WINDOWS
242 ## xfont.o ftfont.o xftfont.o ftxfont.o if HAVE_XFT
243 ## xfont.o ftfont.o ftxfont.o if HAVE_FREETYPE
247 ## Used if HAVE_MOUSE.
248 REAL_MOUSE_SUPPORT
=${lispsource}mouse.elc
${lispsource}select.elc \
249 ${lispsource}scroll-bar.elc
250 ## Used if HAVE_GPM && !HAVE_MOUSE
251 GPM_MOUSE_SUPPORT
=${lispsource}mouse.elc
253 ## Either of the two preceding options, or empty.
254 MOUSE_SUPPORT
=@MOUSE_SUPPORT@
256 ## ${lispsource}tooltip.elc if HAVE_WINDOW_SYSTEM, else empty.
257 TOOLTIP_SUPPORT
=@TOOLTIP_SUPPORT@
259 BASE_WINDOW_SUPPORT
=${lispsource}fringe.elc
${lispsource}image.elc \
260 ${lispsource}international
/fontset.elc
${lispsource}dnd.elc \
261 ${lispsource}tool-bar.elc
${lispsource}mwheel.elc
263 X_WINDOW_SUPPORT
=${lispsource}x-dnd.elc
${lispsource}term
/common-win.elc \
264 ${lispsource}term
/x-win.elc
${lispsource}dynamic-setting.elc
266 ## If HAVE_X_WINDOWS, both the above
267 ## else if HAVE_WINDOW_SYSTEM (ie, HAVE_NS) just the former; else empty.
268 WINDOW_SUPPORT
=@WINDOW_SUPPORT@
270 ## -lresolv, or empty.
271 LIBRESOLV
= @LIBRESOLV@
273 LIBSELINUX_LIBS
= @LIBSELINUX_LIBS@
275 INTERVALS_H
= dispextern.h intervals.h composite.h
277 GETLOADAVG_LIBS
= @GETLOADAVG_LIBS@
279 RUN_TEMACS
= `/bin/pwd`/temacs
281 START_FILES
= @START_FILES@
283 UNEXEC_OBJ
= @unexec@
285 # ========================== start of cpp stuff =======================
286 /* From here on
, comments must be done in C syntax.
*/
292 DEPFLAGS
= -MMD
-MF deps
/$*.d
295 /* If NS_IMPL_GNUSTEP
, some definitions and includes are expanded here.
*/
296 @NS_IMPL_GNUSTEP_INC@
298 /* FIXME move to LD_SWITCH_SYSTEM_TEMACS?
299 This uses
${CONFIG_SYSTEM_LIBS}, presumably set by the above
include.
*/
300 NS_IMPL_GNUSTEP_TEMACS_LDFLAGS
=@NS_IMPL_GNUSTEP_TEMACS_LDFLAGS@
302 /* DO NOT use
-R. There is a special hack described in lastfile.c
303 which is used instead. Some initialized data areas are modified
304 at initial startup
, then labeled
as part of the text area when
305 Emacs is dumped for the first time
, and never changed again.
*/
307 /* -Demacs is needed to make some files produce the correct version
310 -DHAVE_CONFIG_H is needed for some other files to take advantage of
311 the information in
``config.h
''.
*/
313 /* C_SWITCH_X_SITE must come before C_SWITCH_X_SYSTEM
314 since it may have
-I options that should
override those.
*/
315 /* MYCPPFLAGS only referenced in etc
/DEBUG.
*/
316 ALL_CFLAGS
=-Demacs
-DHAVE_CONFIG_H
$(MYCPPFLAGS
) -I.
-I
${srcdir} ${C_SWITCH_MACHINE} ${C_SWITCH_SYSTEM} ${C_SWITCH_X_SITE} ${C_SWITCH_X_SYSTEM} ${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} ${FREETYPE_CFLAGS} ${FONTCONFIG_CFLAGS} ${LIBOTF_CFLAGS} ${M17N_FLT_CFLAGS} ${DEPFLAGS}
317 ALL_OBJC_CFLAGS
=$(ALL_CFLAGS
) $(GNU_OBJC_CFLAGS
)
322 @
-test -d deps || mkdir deps
324 $(CC
) -c
$(CPPFLAGS
) $(ALL_CFLAGS
) $<
327 @
-test -d deps || mkdir deps
329 $(CC
) -c
$(CPPFLAGS
) $(ALL_OBJC_CFLAGS
) $<
332 /* A macro which other sections of Makefile can redefine to munge the
333 flags before they are passed to LD. This is helpful if you have
334 redefined LD to something odd
, like
"gcc".
335 (The YMF
prefix is a holdover from the old name
"ymakefile".
) */
336 #define YMF_PASS_LDFLAGS(flags) flags
342 #else /* not ORDINARY_LINK */
343 GNULIB_VAR
= $(LIB_GCC
)
345 /* Fix linking if compiled with GCC.
*/
346 #if defined (__GNUC__) && ! defined (LINKER)
347 /* Versions of GCC
>= 2.0 put their library
, libgcc.a
, in obscure
348 places that are difficult to figure out at make time. Fortunately
,
349 these same versions allow you to pass arbitrary flags on to the
350 linker
, so there is no reason not to use it
as a linker.
352 Well
, it is not quite perfect. The
"-nostdlib" keeps GCC from
353 searching for libraries in its internal directories
, so we have to
354 ask GCC explicitly where to find libgcc.a.
*/
355 #define LINKER $(CC) -nostdlib
356 /* GCC passes any argument prefixed with
-Xlinker directly to the linker.
357 See prefix-args.c for an explanation of why we do not do this with the
358 shell''s
``for
'' construct. Note that sane people do not have
'.' in
359 their paths
, so we must use .
/prefix-args.
*/
360 #undef YMF_PASS_LDFLAGS
361 #define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
362 #endif /* defined (__GNUC__) && ! defined (LINKER) */
366 #else /* not LINKER */
368 #endif /* not LINKER */
370 #endif /* not ORDINARY_LINK */
373 #ifdef NS_IMPL_GNUSTEP
378 /* lastfile must follow
all files whose initialized data areas should
379 be dumped
as pure by dump-emacs.
*/
380 obj
= dispnew.o frame.o scroll.o xdisp.o menu.o
$(XMENU_OBJ
) window.o \
381 charset.o coding.o category.o ccl.o character.o chartab.o bidi.o \
382 cm.o term.o terminal.o xfaces.o
$(XOBJ
) $(GTK_OBJ
) $(DBUS_OBJ
) \
383 emacs.o keyboard.o macros.o keymap.o sysdep.o \
384 buffer.o filelock.o insdel.o marker.o \
385 minibuf.o fileio.o dired.o filemode.o \
386 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
387 alloc.o data.o doc.o editfns.o callint.o \
388 eval.o floatfns.o fns.o font.o
print.o lread.o \
389 syntax.o
$(UNEXEC_OBJ
) bytecode.o \
390 process.o callproc.o \
391 region-cache.o sound.o atimer.o \
392 doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \
393 $(MSDOS_OBJ
) $(MSDOS_X_OBJ
) $(NS_OBJ
) $(CYGWIN_OBJ
) $(FONT_OBJ
)
395 /* Object files used on some machine or other.
396 These go in the DOC file on
all machines in case they are needed.
*/
397 SOME_MACHINE_OBJECTS
= dosfns.o msdos.o \
398 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
399 fontset.o dbusbind.o \
400 nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \
401 w32.o w32console.o w32fns.o w32heap.o w32inevt.o \
402 w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o
$(FONT_OBJ
)
407 #ifndef SYSTEM_MALLOC
408 #ifndef DOUG_LEA_MALLOC
409 gmallocobj
= gmalloc.o
416 vmlimitobj
= vm-limit.o
417 #endif /* !SYSTEM_MALLOC */
419 /* Empty on Cygwin
, lastfile.o elsewhere.
*/
420 PRE_ALLOC_OBJ
=@PRE_ALLOC_OBJ@
421 /* lastfile.o vm-limit.o on Cygwin
, $vmlimitobj elsewhere.
*/
422 POST_ALLOC_OBJ
=@POST_ALLOC_OBJ@
424 /* List of object files that make-docfile should not be told about.
*/
425 otherobj
= $(TERMCAP_OBJ
) $(PRE_ALLOC_OBJ
) $(gmallocobj
) $(rallocobj
) \
426 $(POST_ALLOC_OBJ
) $(WIDGET_OBJ
) $(LIBOBJS
)
428 /* This is the platform-specific list of Lisp files loaded into the
429 dumped Emacs. It is arranged like this because it is easier to generate
430 it semi-mechanically from loadup.el this way.
432 Note that this list should not
include lisp files which might not
433 be present
, like site-load.el and site-init.el
; this makefile
434 expects them
all to be either present or buildable.
436 Files which are loaded unconditionally
(i.e.
, on
all platforms
) should
437 also be in shortlisp. Files which are loaded conditionally
(i.e.
, only
438 on some platforms
) should instead be in SOME_MACHINE_LISP.
*/
440 /* Place loaddefs.el first
, so it gets generated first
, since it is on
441 the critical path
(relevant in parallel compilations
).
*/
444 ${lispsource}loaddefs.el \
445 ${lispsource}abbrev.elc \
446 ${lispsource}buff-menu.elc \
447 ${lispsource}button.elc \
448 ${lispsource}emacs-lisp
/byte-run.elc \
449 ${lispsource}composite.elc \
450 ${lispsource}cus-face.elc \
451 ${lispsource}cus-start.elc \
452 ${lispsource}custom.elc \
453 ${lispsource}emacs-lisp
/backquote.elc \
454 ${lispsource}emacs-lisp
/lisp-mode.elc \
455 ${lispsource}emacs-lisp
/lisp.elc \
456 ${lispsource}env.elc \
457 ${lispsource}faces.elc \
458 ${lispsource}files.elc \
459 ${lispsource}format.elc \
460 ${lispsource}facemenu.elc \
462 ${lispsource}emacs-lisp
/float-sup.elc \
463 ${lispsource}frame.elc \
464 ${lispsource}help.elc \
465 ${lispsource}indent.elc \
466 ${lispsource}isearch.elc \
467 ${lispsource}rfn-eshadow.elc \
468 ${lispsource}loadup.el \
469 ${lispsource}bindings.elc \
470 ${lispsource}emacs-lisp
/map-ynp.elc \
471 ${lispsource}menu-bar.elc \
472 ${lispsource}international
/mule.elc \
473 ${lispsource}international
/mule-conf.elc \
474 ${lispsource}international
/mule-cmds.elc \
475 ${lispsource}international
/characters.elc \
476 ${lispsource}international
/charprop.el \
477 ${lispsource}case-table.elc \
478 ${lispsource}language
/chinese.elc \
479 ${lispsource}language
/cyrillic.elc \
480 ${lispsource}language
/indian.elc \
481 ${lispsource}language
/sinhala.el \
482 ${lispsource}language
/english.el \
483 ${lispsource}language
/ethiopic.elc \
484 ${lispsource}language
/european.elc \
485 ${lispsource}language
/czech.el \
486 ${lispsource}language
/slovak.el \
487 ${lispsource}language
/romanian.el \
488 ${lispsource}language
/greek.el \
489 ${lispsource}language
/hebrew.el \
490 ${lispsource}language
/japanese.el \
491 ${lispsource}language
/korean.el \
492 ${lispsource}language
/lao.el \
493 ${lispsource}language
/cham.el \
494 ${lispsource}language
/tai-viet.el \
495 ${lispsource}language
/thai.el \
496 ${lispsource}language
/tibetan.elc \
497 ${lispsource}language
/vietnamese.elc \
498 ${lispsource}language
/misc-lang.el \
499 ${lispsource}language
/utf-8-lang.el \
500 ${lispsource}language
/georgian.el \
501 ${lispsource}language
/khmer.el \
502 ${lispsource}language
/burmese.el \
503 ${lispsource}paths.el \
504 ${lispsource}register.elc \
505 ${lispsource}replace.elc \
506 ${lispsource}simple.elc \
507 ${lispsource}minibuffer.elc \
508 ${lispsource}startup.elc \
509 ${lispsource}subr.elc \
510 ${lispsource}term
/tty-colors.elc \
511 ${lispsource}font-core.elc \
512 ${lispsource}emacs-lisp
/syntax.elc \
513 ${lispsource}font-lock.elc \
514 ${lispsource}jit-lock.elc \
515 ${lispsource}textmodes
/fill.elc \
516 ${lispsource}textmodes
/page.elc \
517 ${lispsource}textmodes
/paragraphs.elc \
518 ${lispsource}textmodes
/text-mode.elc \
519 ${lispsource}emacs-lisp
/timer.elc \
520 ${lispsource}jka-cmpr-hook.elc \
521 ${lispsource}vc-hooks.elc \
522 ${lispsource}ediff-hook.elc \
523 ${lispsource}epa-hook.elc \
528 ${lispsource}widget.elc \
529 ${lispsource}window.elc \
530 ${lispsource}version.el
532 /* List of relative names for those files from
$lisp that are loaded
533 unconditionally
(i.e. on
all platforms
). Files from
$lisp that
534 are only loaded on some platforms should instead be placed in
535 SOME_MACHINE_LISP. The only reason this variable exists is to prevent
536 the make-docfile command-line getting too long for some systems.
*/
538 ..
/lisp
/loaddefs.el \
540 ..
/lisp
/buff-menu.elc \
542 ..
/lisp
/emacs-lisp
/byte-run.elc \
543 ..
/lisp
/composite.elc \
544 ..
/lisp
/cus-face.elc \
545 ..
/lisp
/cus-start.elc \
547 ..
/lisp
/emacs-lisp
/backquote.elc \
548 ..
/lisp
/emacs-lisp
/lisp-mode.elc \
549 ..
/lisp
/emacs-lisp
/lisp.elc \
550 ..
/lisp
/facemenu.elc \
553 ..
/lisp
/emacs-lisp
/float-sup.elc \
558 ..
/lisp
/isearch.elc \
559 ..
/lisp
/rfn-eshadow.elc \
561 ..
/lisp
/bindings.elc \
562 ..
/lisp
/emacs-lisp
/map-ynp.elc \
564 ..
/lisp
/international
/mule.elc \
565 ..
/lisp
/international
/mule-conf.elc \
566 ..
/lisp
/international
/mule-cmds.elc \
567 ..
/lisp
/international
/characters.elc \
568 ..
/lisp
/case-table.elc \
569 ..
/lisp
/language
/chinese.elc \
570 ..
/lisp
/language
/cyrillic.elc \
571 ..
/lisp
/language
/indian.elc \
572 ..
/lisp
/language
/sinhala.el \
573 ..
/lisp
/language
/english.el \
574 ..
/lisp
/language
/ethiopic.elc \
575 ..
/lisp
/language
/european.elc \
576 ..
/lisp
/language
/czech.el \
577 ..
/lisp
/language
/slovak.el \
578 ..
/lisp
/language
/romanian.el \
579 ..
/lisp
/language
/greek.el \
580 ..
/lisp
/language
/hebrew.el \
581 ..
/lisp
/language
/japanese.el \
582 ..
/lisp
/language
/korean.el \
583 ..
/lisp
/language
/lao.el \
584 ..
/lisp
/language
/cham.el \
585 ..
/lisp
/language
/tai-viet.el \
586 ..
/lisp
/language
/thai.el \
587 ..
/lisp
/language
/tibetan.elc \
588 ..
/lisp
/language
/vietnamese.elc \
589 ..
/lisp
/language
/misc-lang.el \
590 ..
/lisp
/language
/utf-8-lang.el \
591 ..
/lisp
/language
/georgian.el \
592 ..
/lisp
/language
/khmer.el \
593 ..
/lisp
/language
/burmese.el \
594 ..
/lisp
/menu-bar.elc \
596 ..
/lisp
/register.elc \
597 ..
/lisp
/replace.elc \
599 ..
/lisp
/minibuffer.elc \
600 ..
/lisp
/startup.elc \
602 ..
/lisp
/term
/tty-colors.elc \
603 ..
/lisp
/font-core.elc \
604 ..
/lisp
/emacs-lisp
/syntax.elc \
605 ..
/lisp
/font-lock.elc \
606 ..
/lisp
/jit-lock.elc \
607 ..
/lisp
/textmodes
/fill.elc \
608 ..
/lisp
/textmodes
/page.elc \
609 ..
/lisp
/textmodes
/paragraphs.elc \
610 ..
/lisp
/textmodes
/text-mode.elc \
611 ..
/lisp
/emacs-lisp
/timer.elc \
612 ..
/lisp
/vc-hooks.elc \
613 ..
/lisp
/jka-cmpr-hook.elc \
614 ..
/lisp
/ediff-hook.elc \
615 ..
/lisp
/epa-hook.elc \
620 /* Like
$shortlisp, but includes only those files from
$lisp that are loaded
621 conditionally
(i.e.
, only on some platforms
).
*/
622 SOME_MACHINE_LISP
= ..
/lisp
/mouse.elc \
623 ..
/lisp
/select.elc ..
/lisp
/scroll-bar.elc \
624 ..
/lisp
/ls-lisp.elc ..
/lisp
/dos-fns.elc \
625 ..
/lisp
/w32-fns.elc ..
/lisp
/dos-w32.elc \
626 ..
/lisp
/disp-table.elc ..
/lisp
/dos-vars.elc \
627 ..
/lisp
/tooltip.elc ..
/lisp
/image.elc \
628 ..
/lisp
/fringe.elc ..
/lisp
/dnd.elc \
629 ..
/lisp
/mwheel.elc ..
/lisp
/tool-bar.elc \
630 ..
/lisp
/x-dnd.elc ..
/lisp
/dynamic-setting.elc \
631 ..
/lisp
/international
/ccl.elc \
632 ..
/lisp
/international
/fontset.elc \
634 ..
/lisp
/term
/common-win.elc \
635 ..
/lisp
/term
/x-win.elc \
636 ..
/lisp
/term
/pc-win.elc ..
/lisp
/term
/internal.elc \
637 ..
/lisp
/term
/ns-win.elc ..
/lisp
/term
/w32-win.elc \
638 ..
/lisp
/emacs-lisp
/easymenu.elc
640 /* Construct full set of libraries to be linked.
641 Note that SunOS needs
-lm to come before
-lc
; otherwise
, you
get
642 duplicated symbols. If the standard libraries were compiled
643 with GCC
, we might need gnulib again after them.
*/
645 LIBES
= $(LOADLIBES
) $(LIBS
) $(LIBX_BASE
) $(LIBX_OTHER
) $(LIBSOUND
) \
646 $(RSVG_LIBS
) $(DBUS_LIBS
) $(LIBGPM
) $(LIBRESOLV
) $(LIBS_SYSTEM
) \
647 $(LIBS_TERMCAP
) $(GETLOADAVG_LIBS
) ${GCONF_LIBS} ${LIBSELINUX_LIBS} \
648 $(FREETYPE_LIBS
) $(FONTCONFIG_LIBS
) $(LIBOTF_LIBS
) $(M17N_FLT_LIBS
) \
649 $(GNULIB_VAR
) $(LIB_MATH
) $(LIB_STANDARD
) $(GNULIB_VAR
)
651 all: emacs
${EXEEXT} $(OTHER_FILES
)
653 /* Does anyone ever pay attention to the load-path-shadows output here?
*/
654 emacs
${EXEEXT}: temacs
${EXEEXT} ${etc}DOC
${lisp}
657 ln temacs
${EXEEXT} emacs
${EXEEXT}
658 -EMACSLOADPATH
=${lispsource} .
/emacs
-q
-batch
-f list-load-path-shadows
660 LC_ALL
=C
$(RUN_TEMACS
) -batch
-l loadup dump
661 @
: This new Emacs is
as functional and more efficient then
662 @
: bootstrap-emacs
, so let us replace it.
663 -ln
-f emacs
${EXEEXT} bootstrap-emacs
${EXEEXT}
664 -.
/emacs
-q
-batch
-f list-load-path-shadows
665 #endif /* ! defined (CANNOT_DUMP) */
667 /* We run make-docfile twice because the command line may
get too long
669 /* ${SOME_MACHINE_OBJECTS} comes before
${obj} because some files may
670 or may not be included in
${obj}, but they are always included in
671 ${SOME_MACHINE_OBJECTS}. Since a file is processed when it is mentioned
672 for the first time
, this prevents any variation between configurations
673 in the contents of the DOC file.
674 Likewise for
${SOME_MACHINE_LISP}.
*/
675 /* Most of this Makefile refers to Lisp files via
${lispsource}, so
676 we also use
${lisp} rather than
${shortlisp} for the dependency since
677 the Makefile uses string equality to decide when we talk about identical
678 files. Apparently we pass
${shortlisp} rather than
${lisp} to make-docfile
679 only in order to reduce the command line length.
--Stef
*/
680 ${etc}DOC
: ${libsrc}make-docfile
${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP}
682 ${libsrc}make-docfile
-d
${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
683 ${libsrc}make-docfile
-a
${etc}DOC
-d
${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
685 ${libsrc}make-docfile
${EXEEXT}:
686 cd
${libsrc}; ${MAKE} ${MFLAGS} make-docfile
${EXEEXT}
689 echo
"#define BUILDOBJ \"${obj} ${otherobj} " "\"" > buildobj.h
691 temacs
${EXEEXT}: $(START_FILES
) stamp-oldxmenu
${obj} ${otherobj} prefix-args
${EXEEXT}
692 $(LD
) YMF_PASS_LDFLAGS
( ${TEMACS_LDFLAGS} \
693 ${NS_IMPL_GNUSTEP_TEMACS_LDFLAGS} ) \
695 -o temacs
${START_FILES} ${obj} ${otherobj} ${LIBES}
697 prefix-args
${EXEEXT}: prefix-args.o
$(config_h
)
698 $(CC
) $(LDFLAGS
) prefix-args.o
-o prefix-args
701 /* Only
(possibly
) used if HAVE_X11
&& !USE_GTK
, but no harm in always
704 cd
${lwlibdir}; ${MAKE} ${MFLAGS} \
705 CC
='${CC}' CFLAGS
='${CFLAGS}' MAKE
='${MAKE}'
706 @true
/* make
-t should not create really-lwlib.
*/
710 cd
${oldXMenudir}; ${MAKE} ${MFLAGS} \
711 CC
='${CC}' CFLAGS
='${CFLAGS}' MAKE
='${MAKE}'
712 @true
/* make
-t should not create really-oldXMenu.
*/
713 .PHONY
: really-oldXMenu
715 /* We don
''t really need this when OLDXMENU_DEPS is empty
, but
as
716 things stand we need something to satisfy the temacs dependency.
*/
717 stamp-oldxmenu
: ${OLDXMENU_DEPS}
720 /* HAVE_X11 implies HAVE_X_WINDOWS and HAVE_MENUS.
*/
721 #if defined (HAVE_X11) && ! defined (USE_GTK)
722 /* Supply an ordering for parallel make.
*/
723 ..
/src
/$(OLDXMENU
): ${OLDXMENU}
725 $(OLDXMENU
): $(OLDXMENU_TARGET
)
726 #endif /* HAVE_X11 && !USE_GTK */
728 ..
/config.status
:: epaths.in
729 @echo
"The file epaths.h needs to be set up from epaths.in."
730 @echo
"Please run the `configure' script again."
733 ..
/config.status
:: config.in
734 @echo
"The file config.h needs to be set up from config.in."
735 @echo
"Please run the `configure' script again."
738 ecrt0.o
: ecrt0.c
$(config_h
)
740 @
-test -d deps || mkdir deps
742 $(CC
) -c
$(ALL_CFLAGS
) ${srcdir}/ecrt0.c
747 /* FIXME some of these dependencies are platform-specific.
748 Eg callproc.c only depends on w32.h for WINDOWSNT builds.
749 One way to fix this would be to replace w32.h
(etc
) by
$(W32_H
),
750 a variable set by configure. Does not seem worth the trouble.
751 Since the w32 build does not even use this file
, you might ask
752 why these dependencies are here at
all...
754 nsgui.h
: In fact
, every .o file depends directly or indirectly on
755 dispextern.h and hence nsgui.h under NS. But the ones that actually
756 use stuff there are more limited.
*/
757 atimer.o
: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \
759 bidi.o
: bidi.c buffer.h character.h dispextern.h lisp.h
$(config_h
)
760 buffer.o
: buffer.c buffer.h region-cache.h commands.h window.h \
761 $(INTERVALS_H
) blockinput.h atimer.h systime.h character.h \
762 indent.h keyboard.h coding.h keymap.h frame.h lisp.h
$(config_h
)
763 callint.o
: callint.c window.h commands.h buffer.h keymap.h \
764 keyboard.h dispextern.h systime.h coding.h composite.h lisp.h
$(config_h
)
765 callproc.o
: callproc.c epaths.h buffer.h commands.h lisp.h
$(config_h
) \
766 process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \
767 composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h \
769 casefiddle.o
: casefiddle.c syntax.h commands.h buffer.h character.h \
770 composite.h keymap.h lisp.h
$(config_h
)
771 casetab.o
: casetab.c buffer.h character.h lisp.h
$(config_h
)
772 category.o
: category.c category.h buffer.h charset.h keymap.h \
773 character.h lisp.h
$(config_h
)
774 ccl.o
: ccl.c ccl.h charset.h character.h coding.h composite.h lisp.h
$(config_h
)
775 character.o
: character.c character.h buffer.h charset.h composite.h disptab.h \
777 charset.o
: charset.c charset.h character.h buffer.h coding.h composite.h \
778 disptab.h lisp.h
$(config_h
)
779 chartab.o
: charset.h character.h ccl.h lisp.h
$(config_h
)
780 coding.o
: coding.c coding.h ccl.h buffer.h character.h charset.h composite.h \
781 window.h dispextern.h frame.h termhooks.h lisp.h
$(config_h
)
782 cm.o
: cm.c frame.h cm.h termhooks.h termchar.h dispextern.h lisp.h
$(config_h
)
783 cmds.o
: cmds.c syntax.h buffer.h character.h commands.h window.h lisp.h
$(config_h
) \
784 msdos.h dispextern.h keyboard.h keymap.h systime.h coding.h frame.h \
786 pre-crt0.o
: pre-crt0.c
787 dbusbind.o
: dbusbind.c termhooks.h frame.h keyboard.h lisp.h
$(config_h
)
788 dired.o
: dired.c commands.h buffer.h lisp.h
$(config_h
) character.h charset.h \
789 coding.h regex.h systime.h blockinput.h atimer.h composite.h
790 dispnew.o
: dispnew.c systime.h commands.h process.h frame.h coding.h \
791 window.h buffer.h termchar.h termopts.h termhooks.h cm.h \
792 disptab.h indent.h
$(INTERVALS_H
) nsgui.h \
793 xterm.h blockinput.h atimer.h character.h msdos.h keyboard.h \
794 syssignal.h lisp.h
$(config_h
)
795 doc.o
: doc.c lisp.h
$(config_h
) epaths.h buffer.h keyboard.h keymap.h \
796 character.h systime.h coding.h composite.h
797 doprnt.o
: doprnt.c character.h lisp.h
$(config_h
)
798 dosfns.o
: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \
799 msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \
801 editfns.o
: editfns.c window.h buffer.h systime.h
$(INTERVALS_H
) character.h \
802 coding.h frame.h blockinput.h atimer.h lisp.h
$(config_h
)
803 emacs.o
: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
804 termhooks.h buffer.h atimer.h systime.h
$(INTERVALS_H
) lisp.h
$(config_h
) \
805 window.h dispextern.h keyboard.h keymap.h frame.h coding.h
806 fileio.o
: fileio.c window.h buffer.h systime.h
$(INTERVALS_H
) character.h \
807 coding.h msdos.h blockinput.h atimer.h lisp.h
$(config_h
) frame.h commands.h
808 filelock.o
: filelock.c buffer.h character.h coding.h systime.h composite.h \
810 filemode.o
: filemode.c
$(config_h
)
811 frame.o
: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
812 blockinput.h atimer.h systime.h buffer.h character.h fontset.h font.h \
813 msdos.h dosfns.h dispextern.h w32term.h nsgui.h termchar.h coding.h \
814 composite.h lisp.h
$(config_h
) termhooks.h ccl.h
815 fringe.o
: fringe.c dispextern.h nsgui.h frame.h window.h buffer.h termhooks.h \
816 blockinput.h atimer.h systime.h lisp.h
$(config_h
)
817 font.o
: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \
818 font.h lisp.h
$(config_h
) buffer.h composite.h fontset.h xterm.h nsgui.h
819 ftfont.o
: dispextern.h frame.h character.h charset.h composite.h font.h \
820 lisp.h
$(config_h
) blockinput.h atimer.h systime.h coding.h fontset.h \
822 fontset.o
: fontset.c fontset.h ccl.h buffer.h character.h \
823 charset.h frame.h keyboard.h termhooks.h font.h lisp.h
$(config_h
) \
824 blockinput.h atimer.h systime.h coding.h
$(INTERVALS_H
) nsgui.h \
826 getloadavg.o
: getloadavg.c
$(config_h
)
827 gtkutil.o
: gtkutil.c gtkutil.h xterm.h lisp.h frame.h lisp.h
$(config_h
) \
828 blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \
829 charset.h coding.h syssignal.h dispextern.h composite.h
830 image.o
: image.c frame.h window.h dispextern.h blockinput.h atimer.h \
831 systime.h xterm.h w32term.h w32gui.h font.h epaths.h character.h coding.h \
832 nsterm.h nsgui.h lisp.h
$(config_h
) composite.h termhooks.h ccl.h
833 indent.o
: indent.c frame.h window.h indent.h buffer.h lisp.h
$(config_h
) termchar.h \
834 termopts.h disptab.h region-cache.h character.h category.h \
835 keyboard.h systime.h coding.h
$(INTERVALS_H
)
836 insdel.o
: insdel.c window.h buffer.h
$(INTERVALS_H
) blockinput.h character.h \
837 dispextern.h atimer.h systime.h region-cache.h lisp.h
$(config_h
)
838 keyboard.o
: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \
839 commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \
840 systime.h syntax.h
$(INTERVALS_H
) blockinput.h atimer.h composite.h \
841 xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h nsgui.h coding.h \
843 keymap.o
: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
844 atimer.h systime.h puresize.h character.h charset.h
$(INTERVALS_H
) keymap.h window.h \
845 coding.h frame.h lisp.h
$(config_h
)
846 lastfile.o
: lastfile.c
$(config_h
)
847 macros.o
: macros.c window.h buffer.h commands.h macros.h keyboard.h \
848 dispextern.h lisp.h
$(config_h
) systime.h coding.h composite.h
849 gmalloc.o
: gmalloc.c
$(config_h
)
850 ralloc.o
: ralloc.c lisp.h
$(config_h
)
851 vm-limit.o
: vm-limit.c mem-limits.h lisp.h
$(config_h
)
852 marker.o
: marker.c buffer.h character.h lisp.h
$(config_h
)
853 md5.o
: md5.c md5.h
$(config_h
)
854 minibuf.o
: minibuf.c syntax.h frame.h window.h keyboard.h systime.h \
855 buffer.h commands.h character.h msdos.h
$(INTERVALS_H
) keymap.h \
856 termhooks.h lisp.h
$(config_h
) coding.h
857 mktime.o
: mktime.c
$(config_h
)
858 msdos.o
: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
859 termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \
860 keyboard.h
$(INTERVALS_H
) buffer.h commands.h blockinput.h atimer.h lisp.h
$(config_h
)
861 nsfns.o
: nsfns.m charset.h nsterm.h nsgui.h frame.h window.h buffer.h \
862 dispextern.h fontset.h
$(INTERVALS_H
) keyboard.h blockinput.h \
863 atimer.h systime.h epaths.h termhooks.h coding.h systime.h lisp.h
$(config_h
)
864 nsfont.o
: nsterm.h dispextern.h frame.h lisp.h lisp.h
$(config_h
)
865 nsimage.o
: nsimage.m nsterm.h lisp.h
$(config_h
)
866 nsmenu.o
: nsmenu.m termhooks.h frame.h window.h dispextern.h \
867 nsgui.h keyboard.h blockinput.h atimer.h systime.h buffer.h \
868 nsterm.h lisp.h
$(config_h
)
869 nsterm.o
: nsterm.m blockinput.h atimer.h systime.h syssignal.h nsterm.h \
870 nsgui.h frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h \
871 termopts.h termchar.h disptab.h buffer.h window.h keyboard.h \
872 $(INTERVALS_H
) process.h coding.h lisp.h
$(config_h
)
873 nsselect.o
: nsselect.m blockinput.h nsterm.h nsgui.h frame.h lisp.h
$(config_h
)
874 process.o
: process.c process.h buffer.h window.h termhooks.h termopts.h \
875 commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
876 blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
877 keyboard.h lisp.h
$(config_h
) character.h xgselect.h sysselect.h
878 regex.o
: regex.c syntax.h buffer.h lisp.h
$(config_h
) regex.h category.h character.h
879 region-cache.o
: region-cache.c buffer.h region-cache.h lisp.h
$(config_h
)
880 scroll.o
: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \
881 termhooks.h lisp.h
$(config_h
) systime.h coding.h composite.h window.h
882 search.o
: search.c regex.h commands.h buffer.h region-cache.h syntax.h \
883 blockinput.h atimer.h systime.h category.h character.h charset.h \
886 sound.o
: sound.c dispextern.h syssignal.h lisp.h
$(config_h
) atimer.h systime.h
887 strftime.o
: strftime.c
$(config_h
)
888 syntax.o
: syntax.c syntax.h buffer.h commands.h category.h character.h \
889 keymap.h regex.h
$(INTERVALS_H
) lisp.h
$(config_h
)
890 sysdep.o
: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \
891 process.h dispextern.h termhooks.h termchar.h termopts.h coding.h \
892 frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h lisp.h
$(config_h
) \
894 term.o
: term.c termchar.h termhooks.h termopts.h lisp.h
$(config_h
) cm.h frame.h \
895 disptab.h keyboard.h character.h charset.h coding.h ccl.h xterm.h \
896 msdos.h window.h keymap.h blockinput.h atimer.h systime.h systty.h \
897 syssignal.h
$(INTERVALS_H
) buffer.h
898 termcap.o
: termcap.c lisp.h
$(config_h
)
899 terminal.o
: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
900 keyboard.h lisp.h
$(config_h
) dispextern.h composite.h systime.h
901 terminfo.o
: terminfo.c lisp.h
$(config_h
)
902 tparam.o
: tparam.c lisp.h
$(config_h
)
903 undo.o
: undo.c buffer.h commands.h window.h dispextern.h lisp.h
$(config_h
)
904 unexaix.o
: unexaix.c lisp.h
$(config_h
)
905 unexalpha.o
: unexalpha.c
$(config_h
)
906 unexcw.o
: unexcw.c lisp.h
$(config_h
)
907 unexec.o
: unexec.c lisp.h
$(config_h
)
908 unexelf.o
: unexelf.c
$(config_h
)
909 unexhp9k800.o
: unexhp9k800.c
$(config_h
)
910 unexmacosx.o
: unexmacosx.c
$(config_h
)
911 unexsol.o
: unexsol.c lisp.h
$(config_h
)
912 unexw32.o
: unexw32.c
$(config_h
)
913 w16select.o
: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \
914 msdos.h buffer.h charset.h coding.h composite.h lisp.h
$(config_h
)
915 widget.o
: widget.c xterm.h frame.h dispextern.h widgetprv.h \
916 $(srcdir)/..
/lwlib
/lwlib.h lisp.h
$(config_h
)
917 window.o
: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
918 disptab.h keyboard.h msdos.h coding.h termhooks.h \
919 keymap.h blockinput.h atimer.h systime.h
$(INTERVALS_H
) \
920 xterm.h w32term.h nsterm.h nsgui.h lisp.h
$(config_h
)
921 xdisp.o
: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \
922 coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \
923 charset.h lisp.h
$(config_h
) keyboard.h
$(INTERVALS_H
) region-cache.h \
924 xterm.h w32term.h nsterm.h nsgui.h msdos.h composite.h fontset.h ccl.h \
925 blockinput.h atimer.h systime.h keymap.h font.h
926 xfaces.o
: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
927 window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \
928 systime.h keyboard.h fontset.h w32term.h nsterm.h coding.h ccl.h \
929 $(INTERVALS_H
) nsgui.h termchar.h termhooks.h font.h lisp.h
$(config_h
)
930 xfns.o
: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
931 $(srcdir)/..
/lwlib
/lwlib.h blockinput.h atimer.h systime.h epaths.h \
932 character.h charset.h coding.h gtkutil.h lisp.h
$(config_h
) termhooks.h \
933 fontset.h termchar.h font.h xsettings.h
$(INTERVALS_H
) ccl.h
934 xfont.o
: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
935 font.h lisp.h
$(config_h
) atimer.h systime.h fontset.h ccl.h
936 xftfont.o
: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
937 font.h lisp.h
$(config_h
) atimer.h systime.h fontset.h ccl.h ftfont.h
938 ftxfont.o
: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
939 font.h lisp.h
$(config_h
) atimer.h systime.h fontset.h ccl.h
940 menu.o
: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \
941 dispextern.h
$(srcdir)/..
/lwlib
/lwlib.h xterm.h gtkutil.h menu.h \
942 lisp.h
$(config_h
) systime.h coding.h composite.h window.h atimer.h nsgui.h
943 xmenu.o
: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \
944 charset.h keyboard.h
$(srcdir)/..
/lwlib
/lwlib.h blockinput.h atimer.h \
945 systime.h gtkutil.h msdos.h coding.h menu.h lisp.h
$(config_h
) composite.h \
947 xterm.o
: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \
948 dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
949 keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \
950 coding.h process.h gtkutil.h font.h fontset.h lisp.h
$(config_h
) \
951 xsettings.h intervals.h keymap.h xgselect.h sysselect.h
952 xselect.o
: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \
953 buffer.h atimer.h systime.h termhooks.h lisp.h
$(config_h
) keyboard.h \
955 xgselect.o
: xgselect.h systime.h sysselect.h lisp.h
$(config_h
)
956 xrdb.o
: xrdb.c lisp.h
$(config_h
) epaths.h
957 xsmfns.o
: xsmfns.c lisp.h
$(config_h
) systime.h sysselect.h termhooks.h xterm.h \
958 lisp.h termopts.h frame.h dispextern.h
959 xsettings.o
: xterm.h xsettings.h lisp.h frame.h termhooks.h
$(config_h
) \
960 dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h atimer.h \
963 /* The files of Lisp proper.
*/
964 alloc.o
: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \
965 keyboard.h blockinput.h atimer.h systime.h character.h lisp.h
$(config_h
) \
966 $(INTERVALS_H
) termhooks.h
967 bytecode.o
: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \
968 frame.h xterm.h lisp.h
$(config_h
)
969 data.o
: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \
970 termhooks.h systime.h coding.h composite.h dispextern.h font.h ccl.h \
972 eval.o
: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \
973 dispextern.h lisp.h
$(config_h
) coding.h composite.h xterm.h
974 floatfns.o
: floatfns.c syssignal.h lisp.h
$(config_h
)
975 fns.o
: fns.c commands.h lisp.h
$(config_h
) frame.h buffer.h character.h keyboard.h \
976 keymap.h window.h dispextern.h
$(INTERVALS_H
) coding.h md5.h \
977 blockinput.h atimer.h systime.h xterm.h
978 print.o
: print.c process.h frame.h window.h buffer.h keyboard.h character.h \
979 lisp.h
$(config_h
) termchar.h
$(INTERVALS_H
) msdos.h termhooks.h \
980 blockinput.h atimer.h systime.h font.h charset.h coding.h ccl.h
981 lread.o
: lread.c commands.h keyboard.h buffer.h epaths.h character.h \
982 charset.h lisp.h
$(config_h
) $(INTERVALS_H
) termhooks.h coding.h msdos.h \
983 systime.h frame.h blockinput.h atimer.h
985 /* Text properties support.
*/
986 composite.o
: composite.c buffer.h character.h coding.h font.h ccl.h \
987 frame.h termhooks.h
$(INTERVALS_H
) window.h lisp.h
$(config_h
)
988 intervals.o
: intervals.c buffer.h
$(INTERVALS_H
) keyboard.h puresize.h \
989 keymap.h lisp.h
$(config_h
) systime.h coding.h
990 textprop.o
: textprop.c buffer.h window.h
$(INTERVALS_H
) \
993 #endif /* ! AUTO_DEPEND */
995 /* System-specific programs to be made.
996 OTHER_FILES select which of these should be compiled.
*/
999 ${ns_appdir}: ${ns_appsrc}
1001 mkdir
-p
${ns_appdir}
1002 ( cd
${ns_appsrc} ; tar cfh
- .
) |
( cd
${ns_appdir} ; umask
022; tar xf
- )
1003 #endif /* HAVE_NS */
1005 /* These are only used if HAVE_NS
, but no harm in always defining them.
*/
1006 ${ns_appbindir}Emacs
: emacs
${EXEEXT}
1007 mkdir
-p
${ns_appbindir}
1008 cp
-f emacs
${EXEEXT} ${ns_appbindir}Emacs
1010 ns-app
: ${ns_appdir} ${ns_appbindir}Emacs
1013 rm -f temacs
${EXEEXT} prefix-args
${EXEEXT} core
*.core \
#* *.o libXMenu11.a liblw.a
1015 rm -f bootstrap-emacs
${EXEEXT} emacs-
${version}${EXEEXT}
1018 rm -f emacs-
*.
*.
*${EXEEXT} emacs
${EXEEXT}
1020 test "X${ns_appdir}" = "X" ||
rm -rf
${ns_appdir}
1022 /* bootstrap-clean is used to
clean up just before a bootstrap.
1023 It should remove
all files generated during a compilation
/bootstrap
,
1024 but not things like config.status or TAGS.
*/
1025 bootstrap-clean
: clean
1026 rm -f epaths.h config.h Makefile.c config.stamp stamp-oldxmenu ..
/etc
/DOC-
*
1027 if
test -f .
/.gdbinit
; then \
1028 mv .
/.gdbinit .
/.gdbinit.save
; \
1029 if
test -f
"${srcdir}/.gdbinit"; then
rm -f .
/.gdbinit.save
; \
1030 else mv .
/.gdbinit.save .
/.gdbinit
; fi
; \
1032 /**/# This is used in making a distribution.
1033 /**/# Do not use it on development directories!
1034 distclean: bootstrap-clean
1036 maintainer-clean
: distclean
1037 @echo
"This command is intended for maintainers to use;"
1038 @echo
"it deletes files that may require special tools to rebuild."
1041 -rm -f emacs
${EXEEXT} emacs-
*.
*.
*${EXEEXT} ..
/etc
/DOC
*
1042 extraclean
: distclean
1043 -rm -f
*~ \
#* m/?*~ s/?*~
1045 /* Arrange to make a
tags table TAGS-LISP for ..
/lisp
,
1046 plus TAGS for the C files
, which includes ..
/lisp
/TAGS by reference.
*/
1048 ctagsfiles1
= [xyzXYZ
]*.
[hcm
]
1049 ctagsfiles2
= [a-wA-W
]*.
[hcm
]
1051 TAGS
: $(srcdir)/$(ctagsfiles1
) $(srcdir)/$(ctagsfiles2
)
1052 ..
/lib-src
/etags
--include=TAGS-LISP
--include=${lwlibdir}/TAGS \
1053 --regex
='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
1054 $(srcdir)/$(ctagsfiles1
) $(srcdir)/$(ctagsfiles2
)
1057 $(MAKE
) -f
${lispdir}Makefile TAGS-LISP ETAGS
=..
/lib-src
/etags
1060 (cd
$(lwlibdir
); $(MAKE
) -f
$(lwlibdir
)Makefile
tags ETAGS
=..
/lib-src
/etags
)
1062 tags: TAGS TAGS-LISP
$(lwlibdir
)TAGS
1066 /* Bootstrapping.
*/
1067 /* Bootstrapping right is difficult because of the circular dependencies.
1068 Furthermore
, we have to deal with the fact that many compilation targets
1069 such
as loaddefs.el or
*.elc can typically be produced by any old
1070 Emacs executable
, so we would like to avoid rebuilding them whenever
1071 we build a new Emacs executable.
1072 To solve the circularity
, we use
2 different Emacs executables
,
1073 "emacs" is the main target and
"bootstrap-emacs" is the one used
1074 to build the
*.elc and loaddefs.el files.
1075 To solve the freshness issue
, we used to use a third file
"witness-emacs"
1076 which was used to witness the fact that there is a bootstrap-emacs
1077 executable
, and then have dependencies on witness-emacs rather than
1078 bootstrap-emacs
, but that lead to problems in parallel builds
(because
1079 witness-emacs needed to be free from dependencies
(to avoid rebuilding
1080 it
), so it was compiled in parallel
, leading typically to having
2
1081 processes dumping bootstrap-emacs at the same time
).
1082 So instead
, we replace the witness-emacs dependencies by conditional
1083 bootstrap-dependencies
(via
${BOOTSTRAPEMACS}). Of course
, since we do
1084 not want to rely on GNU Make features
, we have to rely on an external
1085 script to do the conditional part of the dependency
1086 (i.e. see the
${SUBDIR} rule ..
/Makefile.in
).
*/
1090 /* These
suffix rules do not allow additional dependencies
, sadly
, so
1091 instead of adding a
$(BOOTSTRAPEMACS
) dependency here
, we add it
1093 With GNU Make
, we would just say
"%.el : %.elc $(BOOTSTRAPEMACS)" */
1095 @cd ..
/lisp
; $(MAKE
) $(MFLAGS
) compile-onefile \
1096 THEFILE
=$< EMACS
=${bootstrap_exe}
1098 /* Since the .el.elc rule cannot specify an extra dependency
, we do it here.
*/
1099 ${lisp} ${SOME_MACHINE_LISP}: $(BOOTSTRAPEMACS
)
1101 ${lispsource}loaddefs.el
: $(BOOTSTRAPEMACS
)
1102 cd ..
/lisp
; $(MAKE
) $(MFLAGS
) autoloads EMACS
=${bootstrap_exe}
1104 /* Dump an Emacs executable named bootstrap-emacs containing the
1105 files from loadup.el in source form.
*/
1107 bootstrap-emacs
${EXEEXT}: temacs
${EXEEXT}
1108 cd ..
/lisp
; $(MAKE
) $(MFLAGS
) update-subdirs
1110 ln
-f temacs
${EXEEXT} bootstrap-emacs
${EXEEXT}
1112 $(RUN_TEMACS
) --batch
--load loadup bootstrap
1113 mv
-f emacs
${EXEEXT} bootstrap-emacs
${EXEEXT}
1114 #endif /* ! defined (CANNOT_DUMP) */
1115 @
: Compile some files earlier to speed up further compilation.
1116 cd ..
/lisp
; $(MAKE
) $(MFLAGS
) compile-first EMACS
=${bootstrap_exe}
1119 ALLOBJS
=$(START_FILES
) ${obj} ${otherobj} prefix-args.o
1120 -include $(ALLOBJS
:%.o
=deps
/%.d
)