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.
34 # Here are the things that we expect ../configure to edit.
35 # We use $(srcdir) explicitly in dependencies so as not to depend on VPATH.
37 abs_builddir
= @abs_builddir@
47 # Substitute an assignment for the MAKE variable, because
48 # BSD doesn't have it as a default.
50 # Don't use LIBS. configure puts stuff in it that either shouldn't be
51 # linked with Emacs or is duplicated by the cpp stuff below.
55 lispsource
= ${srcdir}/..
/lisp
/
58 oldXMenudir
= ..
/oldXMenu
/
62 # Configuration files for .o files to depend on.
63 M_FILE
= ${srcdir}/@machfile@
64 S_FILE
= ${srcdir}/@opsysfile@
65 config_h
= config.h
$(M_FILE
) $(S_FILE
)
67 bootstrap_exe
= ${abs_builddir}/bootstrap-emacs
${EXEEXT}
69 OTHER_FILES
= @OTHER_FILES@
71 # ========================== start of cpp stuff =======================
72 /* From here on
, comments must be done in C syntax.
*/
76 /* just to be sure the sh is used
*/
79 #define THIS_IS_MAKEFILE
84 DEPFLAGS
= -MMD
-MF deps
/$*.d
87 /* Do not let the file name mktime.c
get messed up.
*/
92 /* Use HAVE_X11
as an alias for X11 in this file
93 to avoid problems with X11
as a subdirectory name
94 in
-I and other such options which pass through this file.
*/
101 /* On some machines
#define register is done in config;
102 do not let it interfere with this file.
*/
105 /* GNU libc requires ORDINARY_LINK so that its own crt0 is used.
106 GNU
/Linux is an exception because it uses a funny variant of GNU libc.
*/
107 #ifdef __GNU_LIBRARY__
109 #define ORDINARY_LINK
113 /* Some machines do not find the standard C libraries in the usual place.
*/
114 #ifndef ORDINARY_LINK
116 #define LIB_STANDARD -lc
124 /* Under GNUstep
, putting libc on the link line causes problems.
*/
125 #ifdef NS_IMPL_GNUSTEP
130 /* Unless inhibited or changed
, use
-lg to link for debugging.
*/
132 #define LIBS_DEBUG -lg
135 /* Some s
/SYSTEM.h files
define this to request special libraries.
*/
140 /* Some m
/MACHINE.h files
define this to request special libraries.
*/
146 # define LIB_MATH -lm
147 #endif /* LIB_MATH */
149 /* Some s
/SYSTEM.h files
define this to request special switches in
ld.
*/
150 #ifndef LD_SWITCH_SYSTEM
151 #if !defined (__GNUC__) && ((defined (BSD_SYSTEM) && !defined (COFF)))
152 #define LD_SWITCH_SYSTEM -X
153 #else /* (defined (BSD_SYSTEM) && !defined (COFF)) */
154 #define LD_SWITCH_SYSTEM
155 #endif /* (defined (BSD_SYSTEM) && !defined (COFF)) */
156 #endif /* LD_SWITCH_SYSTEM */
158 /* This holds special options for linking temacs
159 that should be used for linking anything
else.
*/
160 #ifndef LD_SWITCH_SYSTEM_TEMACS
161 #define LD_SWITCH_SYSTEM_TEMACS
164 /* Some s
/SYSTEM.h files
define this to request special switches
165 for compiling temacs.
*/
166 #ifndef C_SWITCH_SYSTEM_TEMACS
167 #define C_SWITCH_SYSTEM_TEMACS
170 /* Some m
/MACHINE.h files
define this to request special switches in
ld.
*/
171 #ifndef LD_SWITCH_MACHINE
172 #define LD_SWITCH_MACHINE
175 /* This holds special options for linking temacs
176 that should be used for linking anything
else.
*/
177 #ifndef LD_SWITCH_MACHINE_TEMACS
178 #define LD_SWITCH_MACHINE_TEMACS
181 /* Some m
/MACHINE.h files
define this to request special switches in
cc.
*/
182 #ifndef C_SWITCH_MACHINE
183 #define C_SWITCH_MACHINE
186 /* Some s
/SYSTEM.h files
define this to request special switches in
cc.
*/
187 #ifndef C_SWITCH_SYSTEM
188 #define C_SWITCH_SYSTEM
191 /* These macros are for switches specifically related to X Windows.
*/
192 #ifndef C_SWITCH_X_MACHINE
193 #define C_SWITCH_X_MACHINE
196 #ifndef C_SWITCH_X_SYSTEM
197 #define C_SWITCH_X_SYSTEM
200 #ifndef C_SWITCH_X_SITE
201 #define C_SWITCH_X_SITE
204 #ifndef LD_SWITCH_X_SITE
205 #define LD_SWITCH_X_SITE
208 #ifndef LD_SWITCH_X_DEFAULT
209 #define LD_SWITCH_X_DEFAULT
212 #ifndef ORDINARY_LINK
215 #define CRT0_COMPILE $(CC) -c $(ALL_CFLAGS)
220 #define START_FILES pre-crt0.o /lib/crt0.o
221 #else /* ! defined (NO_REMAP) */
222 #define START_FILES ecrt0.o
223 #endif /* ! defined (NO_REMAP) */
224 #endif /* START_FILES */
225 STARTFILES
= START_FILES
227 #else /* ORDINARY_LINK */
229 /* config.h might want to
force START_FILES anyway
*/
231 STARTFILES
= START_FILES
232 #endif /* START_FILES */
234 #endif /* not ORDINARY_LINK */
237 #ifdef NS_IMPL_GNUSTEP
238 /* Pull in stuff from GNUstep-make.
*/
241 include @GNUSTEP_MAKEFILES@
/Additional
/base.make
242 include @GNUSTEP_MAKEFILES@
/Additional
/gui.make
247 DBUS_CFLAGS
= @DBUS_CFLAGS@
248 DBUS_LIBS
= @DBUS_LIBS@
249 DBUS_OBJ
= dbusbind.o
253 GCONF_CFLAGS
= @GCONF_CFLAGS@
254 GCONF_LIBS
= @GCONF_LIBS@
257 /* DO NOT use
-R. There is a special hack described in lastfile.c
258 which is used instead. Some initialized data areas are modified
259 at initial startup
, then labeled
as part of the text area when
260 Emacs is dumped for the first time
, and never changed again.
*/
262 /* -Demacs is needed to make some files produce the correct version
265 -DHAVE_CONFIG_H is needed for some other files to take advantage of
266 the information in
``config.h
''.
*/
268 /* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM
269 since it may have
-I options that should
override those two.
*/
270 ALL_CFLAGS
=-Demacs
-DHAVE_CONFIG_H
$(MYCPPFLAGS
) -I.
-I
${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS
${CFLAGS_SOUND} ${RSVG_CFLAGS} ${DBUS_CFLAGS} ${GCONF_CFLAGS} ${CFLAGS} @FREETYPE_CFLAGS@ @FONTCONFIG_CFLAGS@ @LIBOTF_CFLAGS@ @M17N_FLT_CFLAGS@
${DEPFLAGS}
271 ALL_OBJC_CFLAGS
=$(ALL_CFLAGS
) @GNU_OBJC_CFLAGS@
276 @
-test -d deps || mkdir deps
278 $(CC
) -c
$(CPPFLAGS
) $(ALL_CFLAGS
) $<
281 @
-test -d deps || mkdir deps
283 $(CC
) -c
$(CPPFLAGS
) $(ALL_OBJC_CFLAGS
) $<
285 #ifndef LIBX11_SYSTEM
286 #define LIBX11_SYSTEM
290 #define LIB_X11_LIB -lX11
293 #ifdef HAVE_X_WINDOWS
295 XOBJ
= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o \
296 xsettings.o xgselect.o
304 /* The X Menu stuff is present in the X10 distribution
, but missing
305 from X11. If we have X10
, just use the installed library
;
306 otherwise
, use our own copy.
*/
309 OLDXMENU
=${lwlibdir}liblw.a
310 LIBXMENU
= $(OLDXMENU
)
311 #else /* not USE_X_TOOLKIT */
312 OLDXMENU
= ${oldXMenudir}libXMenu11.a
313 LIBXMENU
= $(OLDXMENU
)
314 #endif /* not USE_X_TOOLKIT */
315 #else /* not HAVE_X11 */
317 #endif /* not HAVE_X11 */
319 #else /* not HAVE_MENUS */
321 /* Otherwise
, do not worry about the menu library at
all.
*/
323 #endif /* not HAVE_MENUS */
326 # define @X_TOOLKIT_TYPE@
332 # if defined (HAVE_MOTIF_2_1) && defined (HAVE_LIBXP)
333 # define LIB_MOTIF_EXTRA -lXp
335 # define LIB_MOTIF_EXTRA
338 MOTIF_LIBW
= LIB_MOTIF LIB_MOTIF_EXTRA
340 MOTIF_LIBW
= -lXm LIB_MOTIF_EXTRA
342 LIBW
=$(@X_TOOLKIT_TYPE@_LIBW
)
346 LIBXTR6
= -lSM
-lICE
-lw
356 LIBXT
= $(LIBW
) LIBXMU
-lXt
$(LIBXTR6
) -lXext
358 #else /* not USE_X_TOOLKIT */
367 LIBXT
=$(LIBW
) -lSM
-lICE
371 #endif /* not USE_X_TOOLKIT */
374 /* LD_SWITCH_X_DEFAULT comes after everything
else that specifies
375 options for where to find X libraries
, but before those libraries.
*/
376 X11_LDFLAGS
= LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT
377 LIBX
= $(LIBXMENU
) $(X11_LDFLAGS
) $(LIBXT
) @LIBTIFF@ @LIBJPEG@ @LIBPNG@ @LIBGIF@ @LIBXPM@ LIB_X11_LIB LIBX11_SYSTEM @XFT_LIBS@
378 #else /* not HAVE_X11 */
379 LIBX
= $(LIBXMENU
) LD_SWITCH_X_SITE
380 #endif /* not HAVE_X11 */
381 #endif /* not HAVE_X_WINDOWS */
384 CFLAGS_SOUND
= @CFLAGS_SOUND@
386 RSVG_LIBS
= @RSVG_LIBS@
387 RSVG_CFLAGS
= @RSVG_CFLAGS@
389 #ifndef ORDINARY_LINK
390 /* Fix linking if compiled with GCC.
*/
394 #define LINKER_WAS_SPECIFIED
397 /* Versions of GCC
>= 2.0 put their library
, libgcc.a
, in obscure
398 places that are difficult to figure out at make time. Fortunately
,
399 these same versions allow you to pass arbitrary flags on to the
400 linker
, so there is no reason not to use it
as a linker.
402 Well
, it is not quite perfect. The
"-nostdlib" keeps GCC from
403 searching for libraries in its internal directories
, so we have to
404 ask GCC explicitly where to find libgcc.a.
*/
407 #define LINKER $(CC) -nostdlib
411 /* Ask GCC where to find libgcc.a.
*/
412 #define LIB_GCC `$(CC) -print-libgcc-file-name`
413 #endif /* not LIB_GCC */
417 #ifndef LINKER_WAS_SPECIFIED
418 /* GCC passes any argument prefixed with
-Xlinker directly to the
419 linker. See prefix-args.c for an explanation of why we do not do
420 this with the
shell''s
``for
'' construct.
421 Note that some people do not have
'.' in their paths
, so we must
422 use .
/prefix-args.
*/
423 #define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
425 #define YMF_PASS_LDFLAGS(flags) flags
428 #else /* not __GNUC__ */
431 #endif /* not __GNUC__ */
432 #endif /* not ORDINARY_LINK */
439 #else /* not LINKER */
441 #endif /* not LINKER */
442 #endif /* not ORDINARY_LINK */
444 /* Flags to pass to LD only for temacs.
*/
445 /* Do not split this line with a backslash. That can cause trouble with
447 TEMACS_LDFLAGS
= LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE LD_SWITCH_MACHINE_TEMACS
449 /* A macro which other sections of Makefile can redefine to munge the
450 flags before they are passed to LD. This is helpful if you have
451 redefined LD to something odd
, like
"gcc".
452 (The YMF
prefix is a holdover from the old name
"ymakefile".
)
454 #ifndef YMF_PASS_LDFLAGS
455 #define YMF_PASS_LDFLAGS(flags) flags
458 /* Allow config.h to specify a replacement file for unexec.c.
*/
460 #define UNEXEC unexec.o
463 INTERVALS_H
= dispextern.h intervals.h composite.h
465 GETLOADAVG_LIBS
= @GETLOADAVG_LIBS@
468 #ifdef HAVE_X_WINDOWS
469 MSDOS_OBJ
= dosfns.o msdos.o xmenu.o
471 MSDOS_OBJ
= dosfns.o msdos.o w16select.o xmenu.o termcap.o
480 ns_appdir
=@ns_appdir@
/
481 ns_appbindir
=@ns_appbindir@
/
482 ns_appresdir
=@ns_appresdir@
/
483 ns_appsrc
=@ns_appsrc@
484 /* Object files for NeXTstep
*/
485 NS_OBJ
= nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \
486 fontset.o fringe.o image.o
489 #ifdef HAVE_WINDOW_SYSTEM
490 #ifdef HAVE_X_WINDOWS
491 #if defined (HAVE_XFT)
492 FONT_DRIVERS
= xfont.o ftfont.o xftfont.o ftxfont.o
493 #elif defined (HAVE_FREETYPE)
494 FONT_DRIVERS
= xfont.o ftfont.o ftxfont.o
495 #else /* ! defined (HAVE_XFT) && ! defined (HAVE_FREETYPE) */
496 FONT_DRIVERS
= xfont.o
497 #endif /* ! defined (HAVE_XFT) && ! defined (HAVE_FREETYPE) */
498 #endif /* HAVE_X_WINDOWS */
499 #endif /* HAVE_WINDOW_SYSTEM */
501 /* lastfile must follow
all files
502 whose initialized data areas should be dumped
as pure by dump-emacs.
*/
503 obj
= dispnew.o frame.o scroll.o xdisp.o menu.o
$(XMENU_OBJ
) window.o \
504 charset.o coding.o category.o ccl.o character.o chartab.o \
505 cm.o term.o terminal.o xfaces.o
$(XOBJ
) $(GTK_OBJ
) $(DBUS_OBJ
) \
506 emacs.o keyboard.o macros.o keymap.o sysdep.o \
507 buffer.o filelock.o insdel.o marker.o \
508 minibuf.o fileio.o dired.o filemode.o \
509 cmds.o casetab.o casefiddle.o indent.o search.o regex.o undo.o \
510 alloc.o data.o doc.o editfns.o callint.o \
511 eval.o floatfns.o fns.o font.o
print.o lread.o \
512 syntax.o UNEXEC bytecode.o \
513 process.o callproc.o \
514 region-cache.o sound.o atimer.o \
515 doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \
516 $(MSDOS_OBJ
) $(NS_OBJ
) $(CYGWIN_OBJ
) $(FONT_DRIVERS
)
518 /* Object files used on some machine or other.
519 These go in the DOC file on
all machines
520 in case they are needed there.
*/
521 SOME_MACHINE_OBJECTS
= dosfns.o msdos.o \
522 xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
524 nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \
525 w32.o w32console.o w32fns.o w32heap.o w32inevt.o \
526 w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o
$(FONT_DRIVERS
)
530 /* Used to be
-ltermcap here. If your machine needs that
,
531 define LIBS_TERMCAP in the m
/MACHINE.h file.
*/
533 #define LIBS_TERMCAP -lcurses
534 #endif /* LIBS_TERMCAP */
535 termcapobj
= terminfo.o
536 #else /* ! defined (TERMINFO) */
539 #endif /* LIBS_TERMCAP */
540 termcapobj
= tparam.o
541 #endif /* ! defined (TERMINFO) */
544 #ifndef SYSTEM_MALLOC
546 #ifndef DOUG_LEA_MALLOC
547 gmallocobj
= gmalloc.o
554 mallocobj
= $(gmallocobj
) $(rallocobj
) vm-limit.o
556 #endif /* SYSTEM_MALLOC */
561 #else /* not USE_X_TOOLKIT */
563 #endif /* not USE_X_TOOLKIT */
566 /* define otherobj
as list of object files that make-docfile
567 should not be told about.
*/
569 /* Cygwin differs because of its unexec
().
*/
570 otherobj
= $(termcapobj
) $(gmallocobj
) $(rallocobj
) lastfile.o vm-limit.o
$(widgetobj
) $(LIBOBJS
)
572 otherobj
= $(termcapobj
) lastfile.o
$(mallocobj
) $(widgetobj
) $(LIBOBJS
)
576 #define MOUSE_SUPPORT ${lispsource}mouse.elc \
577 ${lispsource}select.elc
${lispsource}scroll-bar.elc
580 #define MOUSE_SUPPORT ${lispsource}mouse.elc
582 #define MOUSE_SUPPORT
587 #define MSDOS_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
588 ${lispsource}dos-fns.elc
${lispsource}dos-w32.elc
${lispsource}dos-vars.elc \
589 ${lispsource}term
/internal.elc
${lispsource}term
/pc-win.elc
592 #define MSDOS_SUPPORT
595 #ifdef HAVE_WINDOW_SYSTEM
596 #ifdef HAVE_X_WINDOWS
597 #define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \
598 ${lispsource}international
/fontset.elc
${lispsource}dnd.elc \
599 ${lispsource}tool-bar.elc
${lispsource}mwheel.elc
${lispsource}x-dnd.elc \
600 ${lispsource}term
/common-win.elc
${lispsource}term
/x-win.elc \
601 ${lispsource}font-setting.elc
603 #define WINDOW_SUPPORT ${lispsource}fringe.elc ${lispsource}image.elc \
604 ${lispsource}international
/fontset.elc
${lispsource}dnd.elc \
605 ${lispsource}tool-bar.elc
${lispsource}mwheel.elc
608 #define WINDOW_SUPPORT
612 #define WINNT_SUPPORT ${lispsource}ls-lisp.elc ${lispsource}disp-table.elc \
613 ${lispsource}dos-w32.elc
${lispsource}w32-vars.elc \
614 ${lispsource}w32-fns.elc
${lispsource}term
/common-win.elc \
615 ${lispsource}term
/w32-win.elc
617 #define WINNT_SUPPORT
620 #ifdef HAVE_WINDOW_SYSTEM
621 #define TOOLTIP_SUPPORT ${lispsource}tooltip.elc
623 #define TOOLTIP_SUPPORT
627 #define NS_SUPPORT ${lispsource}emacs-lisp/easymenu.elc \
628 ${lispsource}term
/ns-win.elc
633 /* This is the platform-specific list of Lisp files loaded into the
634 dumped Emacs. It is arranged like this because it is easier to generate
635 it semi-mechanically from loadup.el this way.
637 Note that this list should not
include lisp files which might not
638 be present
, like site-load.el and site-init.el
; this makefile
639 expects them
all to be either present or buildable.
641 Files which are loaded unconditionally
(i.e.
, on
all platforms
) should
642 also be in shortlisp. Files which are loaded conditionally
(i.e.
, only
643 on some platforms
) should instead be in SOME_MACHINE_LISP.
*/
645 /* Place loaddefs.el first
, so it gets generated first
, since it is on
646 the critical path
(relevant in parallel compilations
).
*/
649 ${lispsource}loaddefs.el \
650 ${lispsource}abbrev.elc \
651 ${lispsource}buff-menu.elc \
652 ${lispsource}button.elc \
653 ${lispsource}emacs-lisp
/byte-run.elc \
654 ${lispsource}composite.elc \
655 ${lispsource}cus-face.elc \
656 ${lispsource}cus-start.elc \
657 ${lispsource}custom.elc \
658 ${lispsource}emacs-lisp
/backquote.elc \
659 ${lispsource}emacs-lisp
/lisp-mode.elc \
660 ${lispsource}emacs-lisp
/lisp.elc \
661 ${lispsource}env.elc \
662 ${lispsource}faces.elc \
663 ${lispsource}files.elc \
664 ${lispsource}format.elc \
665 ${lispsource}facemenu.elc \
667 ${lispsource}emacs-lisp
/float-sup.elc \
668 ${lispsource}frame.elc \
669 ${lispsource}help.elc \
670 ${lispsource}indent.elc \
671 ${lispsource}isearch.elc \
672 ${lispsource}rfn-eshadow.elc \
673 ${lispsource}loadup.el \
674 ${lispsource}bindings.elc \
675 ${lispsource}emacs-lisp
/map-ynp.elc \
676 ${lispsource}menu-bar.elc \
677 ${lispsource}international
/mule.elc \
678 ${lispsource}international
/mule-conf.elc \
679 ${lispsource}international
/mule-cmds.elc \
680 ${lispsource}international
/characters.elc \
681 ${lispsource}international
/charprop.el \
682 ${lispsource}case-table.elc \
683 ${lispsource}language
/chinese.elc \
684 ${lispsource}language
/cyrillic.elc \
685 ${lispsource}language
/indian.elc \
686 ${lispsource}language
/sinhala.el \
687 ${lispsource}language
/english.el \
688 ${lispsource}language
/ethiopic.elc \
689 ${lispsource}language
/european.elc \
690 ${lispsource}language
/czech.el \
691 ${lispsource}language
/slovak.el \
692 ${lispsource}language
/romanian.el \
693 ${lispsource}language
/greek.el \
694 ${lispsource}language
/hebrew.el \
695 ${lispsource}language
/japanese.el \
696 ${lispsource}language
/korean.el \
697 ${lispsource}language
/lao.el \
698 ${lispsource}language
/cham.el \
699 ${lispsource}language
/tai-viet.el \
700 ${lispsource}language
/thai.el \
701 ${lispsource}language
/tibetan.elc \
702 ${lispsource}language
/vietnamese.elc \
703 ${lispsource}language
/misc-lang.el \
704 ${lispsource}language
/utf-8-lang.el \
705 ${lispsource}language
/georgian.el \
706 ${lispsource}language
/khmer.el \
707 ${lispsource}language
/burmese.el \
708 ${lispsource}paths.el \
709 ${lispsource}register.elc \
710 ${lispsource}replace.elc \
711 ${lispsource}simple.elc \
712 ${lispsource}minibuffer.elc \
713 ${lispsource}startup.elc \
714 ${lispsource}subr.elc \
715 ${lispsource}term
/tty-colors.elc \
716 ${lispsource}font-core.elc \
717 ${lispsource}emacs-lisp
/syntax.elc \
718 ${lispsource}font-lock.elc \
719 ${lispsource}jit-lock.elc \
720 ${lispsource}textmodes
/fill.elc \
721 ${lispsource}textmodes
/page.elc \
722 ${lispsource}textmodes
/paragraphs.elc \
723 ${lispsource}textmodes
/text-mode.elc \
724 ${lispsource}emacs-lisp
/timer.elc \
725 ${lispsource}jka-cmpr-hook.elc \
726 ${lispsource}vc-hooks.elc \
727 ${lispsource}ediff-hook.elc \
728 ${lispsource}epa-hook.elc \
734 ${lispsource}widget.elc \
735 ${lispsource}window.elc \
736 ${lispsource}version.el
738 /* List of relative names for those files from
$lisp that are loaded
739 unconditionally
(i.e. on
all platforms
). Files from
$lisp that
740 are only loaded on some platforms should instead be placed in
741 SOME_MACHINE_LISP. The only reason this variable exists is to prevent
742 the make-docfile command-line getting too long for some systems.
*/
744 ..
/lisp
/loaddefs.el \
746 ..
/lisp
/buff-menu.elc \
748 ..
/lisp
/emacs-lisp
/byte-run.elc \
749 ..
/lisp
/composite.elc \
750 ..
/lisp
/cus-face.elc \
751 ..
/lisp
/cus-start.elc \
753 ..
/lisp
/emacs-lisp
/backquote.elc \
754 ..
/lisp
/emacs-lisp
/lisp-mode.elc \
755 ..
/lisp
/emacs-lisp
/lisp.elc \
756 ..
/lisp
/facemenu.elc \
759 ..
/lisp
/emacs-lisp
/float-sup.elc \
764 ..
/lisp
/isearch.elc \
765 ..
/lisp
/rfn-eshadow.elc \
767 ..
/lisp
/bindings.elc \
768 ..
/lisp
/emacs-lisp
/map-ynp.elc \
770 ..
/lisp
/international
/mule.elc \
771 ..
/lisp
/international
/mule-conf.elc \
772 ..
/lisp
/international
/mule-cmds.elc \
773 ..
/lisp
/international
/characters.elc \
774 ..
/lisp
/case-table.elc \
775 ..
/lisp
/language
/chinese.elc \
776 ..
/lisp
/language
/cyrillic.elc \
777 ..
/lisp
/language
/indian.elc \
778 ..
/lisp
/language
/sinhala.el \
779 ..
/lisp
/language
/english.el \
780 ..
/lisp
/language
/ethiopic.elc \
781 ..
/lisp
/language
/european.elc \
782 ..
/lisp
/language
/czech.el \
783 ..
/lisp
/language
/slovak.el \
784 ..
/lisp
/language
/romanian.el \
785 ..
/lisp
/language
/greek.el \
786 ..
/lisp
/language
/hebrew.el \
787 ..
/lisp
/language
/japanese.el \
788 ..
/lisp
/language
/korean.el \
789 ..
/lisp
/language
/lao.el \
790 ..
/lisp
/language
/cham.el \
791 ..
/lisp
/language
/tai-viet.el \
792 ..
/lisp
/language
/thai.el \
793 ..
/lisp
/language
/tibetan.elc \
794 ..
/lisp
/language
/vietnamese.elc \
795 ..
/lisp
/language
/misc-lang.el \
796 ..
/lisp
/language
/utf-8-lang.el \
797 ..
/lisp
/language
/georgian.el \
798 ..
/lisp
/language
/khmer.el \
799 ..
/lisp
/language
/burmese.el \
800 ..
/lisp
/menu-bar.elc \
802 ..
/lisp
/register.elc \
803 ..
/lisp
/replace.elc \
805 ..
/lisp
/minibuffer.elc \
806 ..
/lisp
/startup.elc \
808 ..
/lisp
/term
/tty-colors.elc \
809 ..
/lisp
/font-core.elc \
810 ..
/lisp
/emacs-lisp
/syntax.elc \
811 ..
/lisp
/font-lock.elc \
812 ..
/lisp
/jit-lock.elc \
813 ..
/lisp
/textmodes
/fill.elc \
814 ..
/lisp
/textmodes
/page.elc \
815 ..
/lisp
/textmodes
/paragraphs.elc \
816 ..
/lisp
/textmodes
/text-mode.elc \
817 ..
/lisp
/emacs-lisp
/timer.elc \
818 ..
/lisp
/vc-hooks.elc \
819 ..
/lisp
/jka-cmpr-hook.elc \
820 ..
/lisp
/ediff-hook.elc \
821 ..
/lisp
/epa-hook.elc \
826 /* Like
$shortlisp, but includes only those files from
$lisp that are loaded
827 conditionally
(i.e.
, only on some platforms
).
*/
828 SOME_MACHINE_LISP
= ..
/lisp
/mouse.elc \
829 ..
/lisp
/select.elc ..
/lisp
/scroll-bar.elc \
830 ..
/lisp
/ls-lisp.elc ..
/lisp
/dos-fns.elc \
831 ..
/lisp
/w32-fns.elc ..
/lisp
/dos-w32.elc \
832 ..
/lisp
/disp-table.elc ..
/lisp
/dos-vars.elc \
833 ..
/lisp
/tooltip.elc ..
/lisp
/image.elc \
834 ..
/lisp
/fringe.elc ..
/lisp
/dnd.elc \
835 ..
/lisp
/mwheel.elc ..
/lisp
/tool-bar.elc \
836 ..
/lisp
/x-dnd.elc ..
/lisp
/font-setting.elc \
837 ..
/lisp
/international
/ccl.elc \
838 ..
/lisp
/international
/fontset.elc \
840 ..
/lisp
/term
/common-win.elc \
841 ..
/lisp
/term
/x-win.elc \
842 ..
/lisp
/term
/pc-win.elc ..
/lisp
/term
/internal.elc \
843 ..
/lisp
/term
/ns-win.elc ..
/lisp
/term
/w32-win.elc \
844 ..
/lisp
/emacs-lisp
/easymenu.elc
846 /* Construct full set of libraries to be linked.
847 Note that SunOS needs
-lm to come before
-lc
; otherwise
, you
get
848 duplicated symbols. If the standard libraries were compiled
849 with GCC
, we might need gnulib again after them.
*/
851 LIBES
= $(LOADLIBES
) $(LIBS
) $(LIBX
) $(LIBSOUND
) $(RSVG_LIBS
) $(DBUS_LIBS
) \
852 @LIBGPM@ @LIBRESOLV@ LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
853 LIBS_DEBUG
$(GETLOADAVG_LIBS
) ${GCONF_LIBS} \
854 @FREETYPE_LIBS@ @FONTCONFIG_LIBS@ @LIBOTF_LIBS@ @M17N_FLT_LIBS@ \
855 $(GNULIB_VAR
) LIB_MATH LIB_STANDARD
$(GNULIB_VAR
)
857 RUN_TEMACS
= `/bin/pwd`/temacs
859 all: emacs
${EXEEXT} $(OTHER_FILES
)
861 emacs
${EXEEXT}: temacs
${EXEEXT} ${etc}DOC
${lisp}
864 ln temacs
${EXEEXT} emacs
${EXEEXT}
865 -EMACSLOADPATH
=${lispsource} .
/emacs
-q
-batch
-f list-load-path-shadows
867 LC_ALL
=C
$(RUN_TEMACS
) -batch
-l loadup dump
868 @
: This new Emacs is
as functional and more efficient then
869 @
: bootstrap-emacs
, so let us replace it.
870 -ln
-f emacs
${EXEEXT} bootstrap-emacs
${EXEEXT}
871 -.
/emacs
-q
-batch
-f list-load-path-shadows
872 #endif /* ! defined (CANNOT_DUMP) */
874 /* We run make-docfile twice because the command line may
get too long
876 /* ${SOME_MACHINE_OBJECTS} comes before
${obj} because some files may
877 or may not be included in
${obj}, but they are always included in
878 ${SOME_MACHINE_OBJECTS}. Since a file is processed when it is mentioned
879 for the first time
, this prevents any variation between configurations
880 in the contents of the DOC file.
881 Likewise for
${SOME_MACHINE_LISP}.
*/
882 /* Most of this Makefile refers to Lisp files via
${lispsource}, so
883 we also use
${lisp} rather than
${shortlisp} for the dependency since
884 the Makefile uses string equality to decide when we talk about identical
885 files. Apparently we pass
${shortlisp} rather than
${lisp} to make-docfile
886 only in order to reduce the command line length.
--Stef
*/
887 ${etc}DOC
: ${libsrc}make-docfile
${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP}
889 ${libsrc}make-docfile
-d
${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC
890 ${libsrc}make-docfile
-a
${etc}DOC
-d
${srcdir} ${SOME_MACHINE_LISP} ${shortlisp}
892 ${libsrc}make-docfile
${EXEEXT}:
893 cd
${libsrc}; ${MAKE} ${MFLAGS} make-docfile
${EXEEXT}
896 echo
"#define BUILDOBJ \"${obj} ${otherobj} " "\"" > buildobj.h
898 temacs
${EXEEXT}: $(LOCALCPP
) $(STARTFILES
) stamp-oldxmenu
${obj} ${otherobj} prefix-args
${EXEEXT}
899 #ifdef NS_IMPL_GNUSTEP
900 $(CC
) -rdynamic YMF_PASS_LDFLAGS
( ${TEMACS_LDFLAGS} \
901 -L@GNUSTEP_SYSTEM_LIBRARIES@
-lgnustep-gui
-lgnustep-base \
902 -lobjc
$(CONFIG_SYSTEM_LIBS
) -lpthread
) -o temacs \
903 ${obj} ${otherobj} ${LIBES}
905 $(LD
) YMF_PASS_LDFLAGS
(${STARTFLAGS} ${TEMACS_LDFLAGS}) $(LDFLAGS
) \
906 -o temacs
${STARTFILES} ${obj} ${otherobj} \
910 /* We do not use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
911 often contain options that have to do with using Emacs
''s crt0
,
912 which are only good with temacs.
*/
913 prefix-args
${EXEEXT}: prefix-args.o
$(config_h
)
914 $(CC
) $(LDFLAGS
) prefix-args.o
-o prefix-args
916 #if defined (HAVE_X_WINDOWS) && defined (HAVE_X11) && defined (HAVE_MENUS) && ! defined (USE_GTK)
918 /* We use stamp-xmenu with these two deps
919 to both ensure that lwlib gets remade based on its dependencies
921 and remake temacs if lwlib gets changed by this.
*/
922 stamp-oldxmenu
: ${OLDXMENU} ..
/src
/$(OLDXMENU
)
924 /* Supply an ordering for parallel make.
*/
925 ..
/src
/$(OLDXMENU
): ${OLDXMENU}
927 /* Encode the values of these two macros in Make variables
,
928 so we can use
$(...
) to substitute their values within
"...".
*/
929 C_SWITCH_MACHINE_1
= C_SWITCH_MACHINE
930 C_SWITCH_SYSTEM_1
= C_SWITCH_SYSTEM
931 C_SWITCH_X_SITE_1
= C_SWITCH_X_SITE
932 C_SWITCH_X_MACHINE_1
= C_SWITCH_X_MACHINE
933 C_SWITCH_X_SYSTEM_1
= C_SWITCH_X_SYSTEM
936 $(OLDXMENU
): really-lwlib
939 cd
${lwlibdir}; ${MAKE} ${MFLAGS} \
940 CC
='${CC}' CFLAGS
='${CFLAGS}' MAKE
='${MAKE}' \
941 "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \
942 "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \
943 "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \
944 "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \
945 "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
946 @true
/* make
-t should not create really-lwlib.
*/
948 #else /* not USE_X_TOOLKIT */
949 $(OLDXMENU
): really-oldXMenu
952 cd
${oldXMenudir}; ${MAKE} ${MFLAGS} \
953 CC
='${CC}' CFLAGS
='${CFLAGS}' MAKE
='${MAKE}' \
954 "C_SWITCH_X_SITE=$(C_SWITCH_X_SITE_1)" \
955 "C_SWITCH_X_MACHINE=$(C_SWITCH_X_MACHINE_1)" \
956 "C_SWITCH_X_SYSTEM=$(C_SWITCH_X_SYSTEM_1)" \
957 "C_SWITCH_MACHINE=$(C_SWITCH_MACHINE_1)" \
958 "C_SWITCH_SYSTEM=$(C_SWITCH_SYSTEM_1)"
959 @true
/* make
-t should not create really-oldXMenu.
*/
960 .PHONY
: really-oldXMenu
961 #endif /* not USE_X_TOOLKIT */
962 #else /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! USE_GTK) */
964 /* We don
''t really need this
, but satisfy the dependency.
*/
967 #endif /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! USE_GTK) */
969 ..
/config.status
:: epaths.in
970 @echo
"The file epaths.h needs to be set up from epaths.in."
971 @echo
"Please run the `configure' script again."
974 ..
/config.status
:: config.in
975 @echo
"The file config.h needs to be set up from config.in."
976 @echo
"Please run the `configure' script again."
979 ecrt0.o
: ecrt0.c
$(config_h
)
981 @
-test -d deps || mkdir deps
983 CRT0_COMPILE
${srcdir}/ecrt0.c
988 atimer.o
: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \
990 buffer.o
: buffer.c buffer.h region-cache.h commands.h window.h \
991 $(INTERVALS_H
) blockinput.h atimer.h systime.h character.h \
992 indent.h keyboard.h coding.h keymap.h frame.h lisp.h
$(config_h
)
993 callint.o
: callint.c window.h commands.h buffer.h keymap.h \
994 keyboard.h dispextern.h systime.h coding.h composite.h lisp.h
$(config_h
)
995 callproc.o
: callproc.c epaths.h buffer.h commands.h lisp.h
$(config_h
) \
996 process.h systty.h syssignal.h character.h coding.h ccl.h msdos.h \
997 composite.h w32.h blockinput.h atimer.h systime.h frame.h termhooks.h \
999 casefiddle.o
: casefiddle.c syntax.h commands.h buffer.h character.h \
1000 composite.h keymap.h lisp.h
$(config_h
)
1001 casetab.o
: casetab.c buffer.h character.h lisp.h
$(config_h
)
1002 category.o
: category.c category.h buffer.h charset.h keymap.h \
1003 character.h lisp.h
$(config_h
)
1004 ccl.o
: ccl.c ccl.h charset.h character.h coding.h composite.h lisp.h
$(config_h
)
1005 character.o
: character.c character.h buffer.h charset.h composite.h disptab.h \
1007 charset.o
: charset.c charset.h character.h buffer.h coding.h composite.h \
1008 disptab.h lisp.h
$(config_h
)
1009 chartab.o
: charset.h character.h ccl.h lisp.h
$(config_h
)
1010 coding.o
: coding.c coding.h ccl.h buffer.h character.h charset.h composite.h \
1011 window.h dispextern.h frame.h termhooks.h lisp.h
$(config_h
)
1012 cm.o
: cm.c frame.h cm.h termhooks.h termchar.h dispextern.h lisp.h
$(config_h
)
1013 cmds.o
: cmds.c syntax.h buffer.h character.h commands.h window.h lisp.h
$(config_h
) \
1014 msdos.h dispextern.h keyboard.h keymap.h systime.h coding.h frame.h \
1016 pre-crt0.o
: pre-crt0.c
1017 dbusbind.o
: dbusbind.c termhooks.h frame.h keyboard.h lisp.h
$(config_h
)
1018 dired.o
: dired.c commands.h buffer.h lisp.h
$(config_h
) character.h charset.h \
1019 coding.h regex.h systime.h blockinput.h atimer.h composite.h
1020 dispnew.o
: dispnew.c systime.h commands.h process.h frame.h coding.h \
1021 window.h buffer.h termchar.h termopts.h termhooks.h cm.h \
1022 disptab.h indent.h
$(INTERVALS_H
) \
1023 xterm.h blockinput.h atimer.h character.h msdos.h keyboard.h \
1024 syssignal.h lisp.h
$(config_h
)
1025 doc.o
: doc.c lisp.h
$(config_h
) epaths.h buffer.h keyboard.h keymap.h \
1026 character.h systime.h coding.h composite.h
1027 doprnt.o
: doprnt.c character.h lisp.h
$(config_h
)
1028 dosfns.o
: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \
1029 msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \
1031 editfns.o
: editfns.c window.h buffer.h systime.h
$(INTERVALS_H
) character.h \
1032 coding.h frame.h blockinput.h atimer.h lisp.h
$(config_h
)
1033 emacs.o
: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
1034 termhooks.h buffer.h atimer.h systime.h
$(INTERVALS_H
) lisp.h
$(config_h
) \
1035 window.h dispextern.h keyboard.h keymap.h frame.h coding.h
1036 fileio.o
: fileio.c window.h buffer.h systime.h
$(INTERVALS_H
) character.h \
1037 coding.h msdos.h blockinput.h atimer.h lisp.h
$(config_h
) frame.h commands.h
1038 filelock.o
: filelock.c buffer.h character.h coding.h systime.h composite.h \
1040 filemode.o
: filemode.c
$(config_h
)
1041 frame.o
: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
1042 blockinput.h atimer.h systime.h buffer.h character.h fontset.h font.h \
1043 msdos.h dosfns.h dispextern.h w32term.h termchar.h coding.h composite.h \
1044 lisp.h
$(config_h
) termhooks.h ccl.h
1045 fringe.o
: fringe.c dispextern.h frame.h window.h buffer.h termhooks.h \
1046 blockinput.h atimer.h systime.h lisp.h
$(config_h
)
1047 font.o
: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \
1048 font.h lisp.h
$(config_h
) buffer.h composite.h fontset.h xterm.h
1049 ftfont.o
: dispextern.h frame.h character.h charset.h composite.h font.h \
1050 lisp.h
$(config_h
) blockinput.h atimer.h systime.h coding.h fontset.h \
1052 fontset.o
: fontset.c fontset.h ccl.h buffer.h character.h \
1053 charset.h frame.h keyboard.h termhooks.h font.h lisp.h
$(config_h
) \
1054 blockinput.h atimer.h systime.h coding.h
$(INTERVALS_H
) window.h xterm.h
1055 getloadavg.o
: getloadavg.c
$(config_h
)
1056 gtkutil.o
: gtkutil.c gtkutil.h xterm.h lisp.h frame.h lisp.h
$(config_h
) \
1057 blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \
1058 charset.h coding.h syssignal.h dispextern.h composite.h
1059 image.o
: image.c frame.h window.h dispextern.h blockinput.h atimer.h \
1060 systime.h xterm.h w32term.h w32gui.h font.h epaths.h character.h coding.h \
1061 nsterm.h nsgui.h lisp.h
$(config_h
) composite.h termhooks.h ccl.h
1062 indent.o
: indent.c frame.h window.h indent.h buffer.h lisp.h
$(config_h
) termchar.h \
1063 termopts.h disptab.h region-cache.h character.h category.h \
1064 keyboard.h systime.h coding.h
$(INTERVALS_H
)
1065 insdel.o
: insdel.c window.h buffer.h
$(INTERVALS_H
) blockinput.h character.h \
1066 dispextern.h atimer.h systime.h region-cache.h lisp.h
$(config_h
)
1067 keyboard.o
: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \
1068 commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \
1069 systime.h syntax.h
$(INTERVALS_H
) blockinput.h atimer.h composite.h \
1070 xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h coding.h \
1072 keymap.o
: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
1073 atimer.h systime.h puresize.h character.h charset.h
$(INTERVALS_H
) keymap.h window.h \
1074 coding.h frame.h lisp.h
$(config_h
)
1075 lastfile.o
: lastfile.c
$(config_h
)
1076 macros.o
: macros.c window.h buffer.h commands.h macros.h keyboard.h \
1077 dispextern.h lisp.h
$(config_h
) systime.h coding.h composite.h
1078 gmalloc.o
: gmalloc.c
$(config_h
)
1079 ralloc.o
: ralloc.c lisp.h
$(config_h
)
1080 vm-limit.o
: vm-limit.c mem-limits.h lisp.h
$(config_h
)
1081 marker.o
: marker.c buffer.h character.h lisp.h
$(config_h
)
1082 md5.o
: md5.c md5.h
$(config_h
)
1083 minibuf.o
: minibuf.c syntax.h frame.h window.h keyboard.h systime.h \
1084 buffer.h commands.h character.h msdos.h
$(INTERVALS_H
) keymap.h \
1085 termhooks.h lisp.h
$(config_h
) coding.h
1086 mktime.o
: mktime.c
$(config_h
)
1087 msdos.o
: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
1088 termopts.h termchar.h character.h coding.h ccl.h disptab.h window.h \
1089 keyboard.h
$(INTERVALS_H
) buffer.h commands.h blockinput.h atimer.h lisp.h
$(config_h
)
1090 nsfns.o
: nsfns.m charset.h nsterm.h nsgui.h frame.h window.h buffer.h \
1091 dispextern.h nsgui.h fontset.h
$(INTERVALS_H
) keyboard.h blockinput.h \
1092 atimer.h systime.h epaths.h termhooks.h coding.h systime.h lisp.h
$(config_h
)
1093 nsfont.o
: nsterm.h dispextern.h frame.h lisp.h lisp.h
$(config_h
)
1094 nsimage.o
: nsimage.m nsterm.h lisp.h
$(config_h
)
1095 nsmenu.o
: nsmenu.m termhooks.h frame.h window.h dispextern.h \
1096 nsgui.h keyboard.h blockinput.h atimer.h systime.h buffer.h \
1097 nsterm.h lisp.h
$(config_h
)
1098 nsterm.o
: nsterm.m blockinput.h atimer.h systime.h syssignal.h nsterm.h \
1099 nsgui.h frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h \
1100 termopts.h termchar.h disptab.h buffer.h window.h keyboard.h \
1101 $(INTERVALS_H
) process.h coding.h lisp.h
$(config_h
)
1102 nsselect.o
: nsselect.m blockinput.h nsterm.h nsgui.h frame.h lisp.h
$(config_h
)
1103 process.o
: process.c process.h buffer.h window.h termhooks.h termopts.h \
1104 commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
1105 blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
1106 keyboard.h lisp.h
$(config_h
) character.h xgselect.h sysselect.h
1107 regex.o
: regex.c syntax.h buffer.h lisp.h
$(config_h
) regex.h category.h character.h
1108 region-cache.o
: region-cache.c buffer.h region-cache.h lisp.h
$(config_h
)
1109 scroll.o
: scroll.c termchar.h dispextern.h frame.h msdos.h keyboard.h \
1110 termhooks.h lisp.h
$(config_h
) systime.h coding.h composite.h window.h
1111 search.o
: search.c regex.h commands.h buffer.h region-cache.h syntax.h \
1112 blockinput.h atimer.h systime.h category.h character.h charset.h \
1115 sound.o
: sound.c dispextern.h syssignal.h lisp.h
$(config_h
) atimer.h systime.h
1116 strftime.o
: strftime.c
$(config_h
)
1117 syntax.o
: syntax.c syntax.h buffer.h commands.h category.h character.h \
1118 keymap.h regex.h
$(INTERVALS_H
) lisp.h
$(config_h
)
1119 sysdep.o
: sysdep.c syssignal.h systty.h systime.h syswait.h blockinput.h \
1120 process.h dispextern.h termhooks.h termchar.h termopts.h coding.h \
1121 frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h lisp.h
$(config_h
) \
1123 term.o
: term.c termchar.h termhooks.h termopts.h lisp.h
$(config_h
) cm.h frame.h \
1124 disptab.h keyboard.h character.h charset.h coding.h ccl.h xterm.h \
1125 msdos.h window.h keymap.h blockinput.h atimer.h systime.h systty.h \
1126 syssignal.h
$(INTERVALS_H
) buffer.h
1127 termcap.o
: termcap.c lisp.h
$(config_h
)
1128 terminal.o
: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
1129 keyboard.h lisp.h
$(config_h
) dispextern.h composite.h systime.h
1130 terminfo.o
: terminfo.c lisp.h
$(config_h
)
1131 tparam.o
: tparam.c lisp.h
$(config_h
)
1132 undo.o
: undo.c buffer.h commands.h window.h dispextern.h lisp.h
$(config_h
)
1133 unexaix.o
: unexaix.c lisp.h
$(config_h
)
1134 unexalpha.o
: unexalpha.c
$(config_h
)
1135 unexcw.o
: unexcw.c lisp.h
$(config_h
)
1136 unexec.o
: unexec.c lisp.h
$(config_h
)
1137 unexelf.o
: unexelf.c
$(config_h
)
1138 unexhp9k800.o
: unexhp9k800.c
$(config_h
)
1139 unexmacosx.o
: unexmacosx.c
$(config_h
)
1140 unexsol.o
: unexsol.c lisp.h
$(config_h
)
1141 unexw32.o
: unexw32.c
$(config_h
)
1142 w16select.o
: w16select.c dispextern.h frame.h blockinput.h atimer.h systime.h \
1143 msdos.h buffer.h charset.h coding.h composite.h lisp.h
$(config_h
)
1144 widget.o
: widget.c xterm.h frame.h dispextern.h widgetprv.h \
1145 $(srcdir)/..
/lwlib
/lwlib.h lisp.h
$(config_h
)
1146 window.o
: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
1147 disptab.h keyboard.h msdos.h coding.h termhooks.h \
1148 keymap.h blockinput.h atimer.h systime.h
$(INTERVALS_H
) \
1149 xterm.h w32term.h nsterm.h lisp.h
$(config_h
)
1150 xdisp.o
: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \
1151 coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \
1152 charset.h lisp.h
$(config_h
) keyboard.h
$(INTERVALS_H
) region-cache.h xterm.h \
1153 w32term.h nsterm.h msdos.h composite.h fontset.h ccl.h \
1154 blockinput.h atimer.h systime.h keymap.h font.h
1155 xfaces.o
: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
1156 window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \
1157 systime.h keyboard.h fontset.h w32term.h nsterm.h coding.h ccl.h \
1158 $(INTERVALS_H
) termchar.h termhooks.h font.h lisp.h
$(config_h
)
1159 xfns.o
: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
1160 $(srcdir)/..
/lwlib
/lwlib.h blockinput.h atimer.h systime.h epaths.h \
1161 character.h charset.h coding.h gtkutil.h lisp.h
$(config_h
) termhooks.h \
1162 fontset.h termchar.h font.h xsettings.h
$(INTERVALS_H
) ccl.h
1163 xfont.o
: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1164 font.h lisp.h
$(config_h
) atimer.h systime.h fontset.h ccl.h
1165 xftfont.o
: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1166 font.h lisp.h
$(config_h
) atimer.h systime.h fontset.h ccl.h ftfont.h
1167 ftxfont.o
: dispextern.h xterm.h frame.h blockinput.h character.h charset.h \
1168 font.h lisp.h
$(config_h
) atimer.h systime.h fontset.h ccl.h
1169 menu.o
: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \
1170 dispextern.h
$(srcdir)/..
/lwlib
/lwlib.h xterm.h gtkutil.h menu.h \
1171 lisp.h
$(config_h
) systime.h coding.h composite.h window.h atimer.h
1172 xmenu.o
: xmenu.c xterm.h termhooks.h window.h dispextern.h frame.h buffer.h \
1173 charset.h keyboard.h
$(srcdir)/..
/lwlib
/lwlib.h blockinput.h atimer.h \
1174 systime.h gtkutil.h msdos.h coding.h menu.h lisp.h
$(config_h
) composite.h \
1175 keymap.h sysselect.h
1176 xterm.o
: xterm.c xterm.h termhooks.h termopts.h termchar.h window.h buffer.h \
1177 dispextern.h frame.h disptab.h blockinput.h atimer.h systime.h syssignal.h \
1178 keyboard.h emacs-icon.h character.h charset.h ccl.h fontset.h composite.h \
1179 coding.h process.h gtkutil.h font.h fontset.h lisp.h
$(config_h
) \
1180 xsettings.h intervals.h keymap.h xgselect.h sysselect.h
1181 xselect.o
: xselect.c process.h dispextern.h frame.h xterm.h blockinput.h \
1182 buffer.h atimer.h systime.h termhooks.h lisp.h
$(config_h
) keyboard.h \
1183 coding.h composite.h
1184 xgselect.o
: xgselect.h systime.h sysselect.h lisp.h
$(config_h
)
1185 xrdb.o
: xrdb.c lisp.h
$(config_h
) epaths.h
1186 xsmfns.o
: xsmfns.c lisp.h
$(config_h
) systime.h sysselect.h termhooks.h xterm.h \
1187 lisp.h termopts.h frame.h dispextern.h
1188 xsettings.o
: xterm.h xsettings.h lisp.h frame.h termhooks.h
$(config_h
) \
1189 dispextern.h keyboard.h systime.h coding.h composite.h blockinput.h atimer.h \
1191 /* The files of Lisp proper
*/
1193 alloc.o
: alloc.c process.h frame.h window.h buffer.h puresize.h syssignal.h \
1194 keyboard.h blockinput.h atimer.h systime.h character.h lisp.h
$(config_h
) \
1195 $(INTERVALS_H
) termhooks.h
1196 bytecode.o
: bytecode.c buffer.h syntax.h character.h window.h dispextern.h \
1197 frame.h xterm.h lisp.h
$(config_h
)
1198 data.o
: data.c buffer.h puresize.h character.h syssignal.h keyboard.h frame.h \
1199 termhooks.h systime.h coding.h composite.h dispextern.h font.h ccl.h \
1201 eval.o
: eval.c commands.h keyboard.h blockinput.h atimer.h systime.h \
1202 dispextern.h lisp.h
$(config_h
) coding.h composite.h xterm.h
1203 floatfns.o
: floatfns.c syssignal.h lisp.h
$(config_h
)
1204 fns.o
: fns.c commands.h lisp.h
$(config_h
) frame.h buffer.h character.h keyboard.h \
1205 keymap.h window.h dispextern.h
$(INTERVALS_H
) coding.h md5.h \
1206 blockinput.h atimer.h systime.h xterm.h
1207 print.o
: print.c process.h frame.h window.h buffer.h keyboard.h character.h \
1208 lisp.h
$(config_h
) termchar.h
$(INTERVALS_H
) msdos.h termhooks.h \
1209 blockinput.h atimer.h systime.h font.h charset.h coding.h ccl.h
1210 lread.o
: lread.c commands.h keyboard.h buffer.h epaths.h character.h \
1211 charset.h lisp.h
$(config_h
) $(INTERVALS_H
) termhooks.h coding.h msdos.h \
1212 systime.h frame.h blockinput.h atimer.h
1214 /* Text properties support
*/
1215 composite.o
: composite.c buffer.h character.h coding.h font.h ccl.h \
1216 frame.h termhooks.h
$(INTERVALS_H
) window.h lisp.h
$(config_h
)
1217 intervals.o
: intervals.c buffer.h
$(INTERVALS_H
) keyboard.h puresize.h \
1218 keymap.h lisp.h
$(config_h
) systime.h coding.h
1219 textprop.o
: textprop.c buffer.h window.h
$(INTERVALS_H
) \
1222 #endif /* ! AUTO_DEPEND */
1224 /* System-specific programs to be made.
1226 select which of these should be compiled.
*/
1229 /* In fact
, every .o file depends directly or indirectly on dispextern.h
1230 and hence nsgui.h under NS. But the ones that actually use stuff there
1231 are more limited.
*/
1232 dispnew.o font.o fontset.o frame.o fringe.o image.o keyboard.o menu.o \
1233 window.o xdisp.o xfaces.o
: nsgui.h
1235 ${ns_appdir}: ${ns_appsrc}
1237 mkdir
-p
${ns_appdir}
1238 ( cd
${ns_appsrc} ; tar cfh
- .
) |
( cd
${ns_appdir} ; tar xf
- )
1239 ( cd
${ns_appdir} ; for subdir in
`find . -type d ! -name CVS -print` ; do \
1240 chmod a
+rx
$${subdir} ; \
1241 rm -rf
$${subdir}/CVS
; \
1242 rm -f
$${subdir}/.cvsignore
; done
; )
1244 ${ns_appbindir}Emacs
: emacs
${EXEEXT}
1245 mkdir
-p
${ns_appbindir}
1246 cp
-f emacs
${EXEEXT} ${ns_appbindir}Emacs
1248 ns-app
: ${ns_appdir} ${ns_appbindir}Emacs
1250 #endif /* HAVE_NS */
1253 rm -f temacs
${EXEEXT} prefix-args
${EXEEXT} core
*.core \
#* *.o libXMenu11.a liblw.a
1255 rm -f bootstrap-emacs
${EXEEXT} emacs-
${version}${EXEEXT}
1258 rm -f emacs-
*.
*.
*${EXEEXT} emacs
${EXEEXT}
1263 /* bootstrap-clean is used to
clean up just before a bootstrap.
1264 It should remove
all files generated during a compilation
/bootstrap
,
1265 but not things like config.status or TAGS.
*/
1266 bootstrap-clean
: clean
1267 rm -f epaths.h config.h Makefile.c config.stamp stamp-oldxmenu ..
/etc
/DOC-
*
1268 if
test -f .
/.gdbinit
; then \
1269 mv .
/.gdbinit .
/.gdbinit.save
; \
1270 if
test -f
"${srcdir}/.gdbinit"; then
rm -f .
/.gdbinit.save
; \
1271 else mv .
/.gdbinit.save .
/.gdbinit
; fi
; \
1273 /**/# This is used in making a distribution.
1274 /**/# Do not use it on development directories!
1275 distclean: bootstrap-clean
1277 maintainer-clean
: distclean
1278 @echo
"This command is intended for maintainers to use;"
1279 @echo
"it deletes files that may require special tools to rebuild."
1282 -rm -f emacs
${EXEEXT} emacs-
*.
*.
*${EXEEXT} ..
/etc
/DOC
*
1283 extraclean
: distclean
1284 -rm -f
*~ \
#* m/?*~ s/?*~
1286 /* Arrange to make a
tags table TAGS-LISP for ..
/lisp
,
1287 plus TAGS for the C files
, which includes ..
/lisp
/TAGS by reference.
*/
1289 ctagsfiles1
= [xyzXYZ
]*.
[hcm
]
1290 ctagsfiles2
= [a-wA-W
]*.
[hcm
]
1292 TAGS
: $(srcdir)/$(ctagsfiles1
) $(srcdir)/$(ctagsfiles2
)
1293 ..
/lib-src
/etags
--include=TAGS-LISP
--include=${lwlibdir}/TAGS \
1294 --regex
='/[ ]*DEFVAR_[A-Z_ (]+"\([^"]+\)"/' \
1295 $(srcdir)/$(ctagsfiles1
) $(srcdir)/$(ctagsfiles2
)
1298 $(MAKE
) -f
${lispdir}Makefile TAGS-LISP ETAGS
=..
/lib-src
/etags
1301 (cd
$(lwlibdir
); $(MAKE
) -f
$(lwlibdir
)Makefile
tags ETAGS
=..
/lib-src
/etags
)
1303 tags: TAGS TAGS-LISP
$(lwlibdir
)TAGS
1307 /* Bootstrapping.
*/
1308 /* Bootstrapping right is difficult because of the circular dependencies.
1309 Furthermore
, we have to deal with the fact that many compilation targets
1310 such
as loaddefs.el or
*.elc can typically be produced by any old
1311 Emacs executable
, so we would like to avoid rebuilding them whenever
1312 we build a new Emacs executable.
1313 To solve the circularity
, we use
2 different Emacs executables
,
1314 "emacs" is the main target and
"bootstrap-emacs" is the one used
1315 to build the
*.elc and loaddefs.el files.
1316 To solve the freshness issue
, we used to use a third file
"witness-emacs"
1317 which was used to witness the fact that there is a bootstrap-emacs
1318 executable
, and then have dependencies on witness-emacs rather than
1319 bootstrap-emacs
, but that lead to problems in parallel builds
(because
1320 witness-emacs needed to be free from dependencies
(to avoid rebuilding
1321 it
), so it was compiled in parallel
, leading typically to having
2
1322 processes dumping bootstrap-emacs at the same time
).
1323 So instead
, we replace the witness-emacs dependencies by conditional
1324 bootstrap-dependencies
(via
${BOOTSTRAPEMACS}). Of course
, since we do
1325 not want to rely on GNU Make features
, we have to rely on an external
1326 script to do the conditional part of the dependency
1327 (i.e. see the
${SUBDIR} rule ..
/Makefile.in
).
*/
1331 /* These
suffix rules do not allow additional dependencies
, sadly
, so
1332 instead of adding a
$(BOOTSTRAPEMACS
) dependency here
, we add it
1334 With GNU Make
, we would just say
"%.el : %.elc $(BOOTSTRAPEMACS)" */
1336 @cd ..
/lisp
; $(MAKE
) $(MFLAGS
) compile-onefile \
1337 THEFILE
=$< EMACS
=${bootstrap_exe}
1339 /* Since the .el.elc rule cannot specify an extra dependency
, we do it here.
*/
1340 ${lisp} ${SOME_MACHINE_LISP}: $(BOOTSTRAPEMACS
)
1342 ${lispsource}loaddefs.el
: $(BOOTSTRAPEMACS
)
1343 cd ..
/lisp
; $(MAKE
) $(MFLAGS
) autoloads EMACS
=${bootstrap_exe}
1345 /* Dump an Emacs executable named bootstrap-emacs containing the
1346 files from loadup.el in source form.
*/
1348 bootstrap-emacs
${EXEEXT}: temacs
${EXEEXT}
1349 cd ..
/lisp
; $(MAKE
) $(MFLAGS
) update-subdirs
1351 ln
-f temacs
${EXEEXT} bootstrap-emacs
${EXEEXT}
1353 $(RUN_TEMACS
) --batch
--load loadup bootstrap
1354 mv
-f emacs
${EXEEXT} bootstrap-emacs
${EXEEXT}
1355 #endif /* ! defined (CANNOT_DUMP) */
1356 @
: Compile some files earlier to speed up further compilation.
1357 cd ..
/lisp
; $(MAKE
) $(MFLAGS
) compile-first EMACS
=${bootstrap_exe}
1360 ALLOBJS
=$(STARTFILES
) ${obj} ${otherobj} prefix-args.o
1361 -include $(ALLOBJS
:%.o
=deps
/%.d
)