# Makefile for GNU Emacs.
# Copyright (C) 1985, 1987, 1988, 1993, 1994, 1995, 1999, 2000, 2001, 2002,
-# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
# This file is part of GNU Emacs.
# GNU Emacs is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
+# the Free Software Foundation; either version 3, or (at your option)
# any later version.
# GNU Emacs is distributed in the hope that it will be useful,
LDFLAGS=@LDFLAGS@
LN_S=@LN_S@
EXEEXT=@EXEEXT@
+version=@version@
# Substitute an assignment for the MAKE variable, because
# BSD doesn't have it as a default.
@SET_MAKE@
#define NOT_C_CODE
#include "config.h"
-/* We won't really call alloca;
- don't let the file name alloca.c get messed up. */
+/* We will not really call alloca;
+ do not let the file name alloca.c get messed up. */
#ifdef alloca
#undef alloca
#endif
-/* Don't let the file name mktime.c get messed up. */
+/* Do not let the file name mktime.c get messed up. */
#ifdef mktime
#undef mktime
#endif
#endif
/* On some machines #define register is done in config;
- don't let it interfere with this file. */
+ do not let it interfere with this file. */
#undef register
/* On some systems we may not be able to use the system make command. */
#endif
#endif
-/* Some machines don't find the standard C libraries in the usual place. */
+/* Some machines do not find the standard C libraries in the usual place. */
#ifndef ORDINARY_LINK
#ifndef LIB_STANDARD
#define LIB_STANDARD -lc
#endif /* not ORDINARY_LINK */
-/* cc switches needed to make `asm' keyword work.
+/* cc switches needed to make ``asm'' keyword work.
Nothing special needed on most machines. */
#ifndef C_SWITCH_ASM
#define C_SWITCH_ASM
for use in Emacs.
-DHAVE_CONFIG_H is needed for some other files to take advantage of
- the information in `config.h'. */
+ the information in ``config.h''. */
/* C_SWITCH_X_SITE must come before C_SWITCH_X_MACHINE and C_SWITCH_X_SYSTEM
since it may have -I options that should override those two. */
-ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(TOOLKIT_DEFINES) $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS}
+ALL_CFLAGS=-Demacs -DHAVE_CONFIG_H $(TOOLKIT_DEFINES) $(MYCPPFLAGS) -I. -I${srcdir} C_SWITCH_MACHINE C_SWITCH_SYSTEM C_SWITCH_SITE C_SWITCH_X_SITE C_SWITCH_X_MACHINE C_SWITCH_X_SYSTEM C_SWITCH_SYSTEM_TEMACS ${CFLAGS_SOUND} ${CFLAGS}
.c.o:
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
#else /* not HAVE_MENUS */
-/* Otherwise, don't worry about the menu library at all. */
+/* Otherwise, do not worry about the menu library at all. */
LIBXMENU=
#endif /* not HAVE_MENUS */
#ifdef LIBXT_STATIC
/* We assume the config files have defined STATIC_OPTION
since that might depend on the operating system.
- (Don't forget you need different definitions with and without __GNUC__.) */
+ (Do not forget you need different definitions with and without __GNUC__.) */
LIBXT= STATIC_OPTION $(LIBW) LIBXMU -lXt $(LIBXTR6) -lXext DYNAMIC_OPTION
#else /* not LIBXT_STATIC */
LIBXT= $(LIBW) LIBXMU -lXt $(LIBXTR6) -lXext
#endif
#endif /* not USE_X_TOOLKIT */
+#if HAVE_XFT
+XFT_LIBS=@XFT_LIBS@
+#endif /* HAVE_XFT */
+
#if HAVE_XPM
#ifndef LIBXPM
#define LIBXPM -lXpm
#if HAVE_GIF
#ifndef LIBGIF
-#define LIBGIF -lungif
+#define LIBGIF -lgif
#endif /* not defined LIBGIF */
#else /* not HAVE_GIF */
#define LIBGIF
/* LD_SWITCH_X_DEFAULT comes after everything else that specifies
options for where to find X libraries, but before those libraries. */
X11_LDFLAGS = LD_SWITCH_X_SITE LD_SWITCH_X_DEFAULT
-LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) LIBTIFF LIBJPEG LIBPNG LIBGIF LIBXPM LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM
+LIBX= $(LIBXMENU) $(X11_LDFLAGS) $(LIBXT) LIBTIFF LIBJPEG LIBPNG LIBGIF LIBXPM LIB_X11_LIB LIBX11_MACHINE LIBX11_SYSTEM $(XFT_LIBS)
#else /* not HAVE_X11 */
LIBX= $(LIBXMENU) LD_SWITCH_X_SITE -lX10 LIBX10_MACHINE LIBX10_SYSTEM
#endif /* not HAVE_X11 */
#else /* not HAVE_X_WINDOWS */
#endif /* not HAVE_X_WINDOWS */
+#if HAVE_GPM
+#ifndef LIBGPM
+#define LIBGPM -lgpm
+#endif /* not defined LIBGPM */
+#else /* not HAVE_GPM */
+#define LIBGPM
+#endif /* not HAVE_GPM */
+
+
LIBSOUND= @LIBSOUND@
+CFLAGS_SOUND= @CFLAGS_SOUND@
#ifndef ORDINARY_LINK
/* Fix linking if compiled with GCC. */
/* Versions of GCC >= 2.0 put their library, libgcc.a, in obscure
places that are difficult to figure out at make time. Fortunately,
these same versions allow you to pass arbitrary flags on to the
- linker, so there's no reason not to use it as a linker.
+ linker, so there is no reason not to use it as a linker.
- Well, it's not quite perfect. The `-nostdlib' keeps GCC from
+ Well, it is not quite perfect. The "-nostdlib" keeps GCC from
searching for libraries in its internal directories, so we have to
ask GCC explicitly where to find libgcc.a. */
#ifndef LINKER_WAS_SPECIFIED
/* GCC passes any argument prefixed with -Xlinker directly to the
- linker. See prefix-args.c for an explanation of why we don't do
- this with the shell's `for' construct.
- Note that some people don't have '.' in their paths, so we must
+ linker. See prefix-args.c for an explanation of why we do not do
+ this with the shell''s ``for'' construct.
+ Note that some people do not have '.' in their paths, so we must
use ./prefix-args. */
#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags`
#else
#endif /* not ORDINARY_LINK */
/* Flags to pass to LD only for temacs. */
-/* Don't split this line with a backslash. That can cause trouble with
+/* Do not split this line with a backslash. That can cause trouble with
some cpps. */
TEMACS_LDFLAGS = LD_SWITCH_SYSTEM LD_SWITCH_SYSTEM_TEMACS LD_SWITCH_MACHINE LD_SWITCH_MACHINE_TEMACS LD_SWITCH_SITE
/* A macro which other sections of Makefile can redefine to munge the
- flags before they're passed to LD. This is helpful if you have
+ flags before they are passed to LD. This is helpful if you have
redefined LD to something odd, like "gcc".
(The YMF prefix is a holdover from the old name "ymakefile".)
*/
#define MOUSE_SUPPORT ${lispsource}mouse.elc \
${lispsource}select.elc ${lispsource}scroll-bar.elc
#else
+#ifdef HAVE_GPM
+#define MOUSE_SUPPORT ${lispsource}mouse.elc
+#else
#define MOUSE_SUPPORT
#endif
+#endif
#ifdef VMS
#define VMS_SUPPORT ${lispsource}vmsproc.elc ${lispsource}vms-patch.elc
#define TOOLTIP_SUPPORT
#endif
-/* List of Lisp files loaded into the dumped Emacs. It's arranged
- like this because it's easier to generate it semi-mechanically from
+/* List of Lisp files loaded into the dumped Emacs. It is arranged
+ like this because it is easier to generate it semi-mechanically from
loadup.el this way.
Note that this list should not include lisp files which might not
We must unconditionally put them in the DOC file.
We use ../lisp/ to start the file names
to reduce the size of the argument list for make-docfile
- for the sake of systems which can\'t handle large ones. */
+ for the sake of systems which can''t handle large ones. */
SOME_MACHINE_LISP = ${dotdot}/lisp/mouse.elc \
${dotdot}/lisp/select.elc ${dotdot}/lisp/scroll-bar.elc \
${dotdot}/lisp/vmsproc.elc ${dotdot}/lisp/vms-patch.elc \
${dotdot}/lisp/w32-fns.elc ${dotdot}/lisp/dos-w32.elc \
${dotdot}/lisp/disp-table.elc ${dotdot}/lisp/dos-vars.elc \
${dotdot}/lisp/tooltip.elc ${dotdot}/lisp/image.elc \
- ${dotdot}/lisp/dnd.elc ${dotdot}/lisp/mwheel.elc \
- ${dotdot}/lisp/tool-bar.elc \
+ ${dotdot}/lisp/fringe.elc ${dotdot}/lisp/dnd.elc \
+ ${dotdot}/lisp/mwheel.elc ${dotdot}/lisp/tool-bar.elc \
${dotdot}/lisp/x-dnd.elc \
${dotdot}/lisp/international/ccl.elc \
${dotdot}/lisp/international/codepage.elc \
Note that SunOS needs -lm to come before -lc; otherwise, you get
duplicated symbols. If the standard libraries were compiled
with GCC, we might need gnulib again after them. */
-LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) \
+LIBES = $(LOADLIBES) $(LIBS) $(LIBX) $(LIBSOUND) LIBGPM \
LIBS_SYSTEM LIBS_MACHINE LIBS_TERMCAP \
LIBS_DEBUG $(GETLOADAVG_LIBS) $(GNULIB_VAR) LIB_MATH LIB_STANDARD \
$(GNULIB_VAR)
-o temacs ${STARTFILES} ${obj} ${otherobj} \
OBJECTS_MACHINE ${LIBES}
-/* We don't use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
- often contain options that have to do with using Emacs's crt0,
+/* We do not use ALL_LDFLAGS because LD_SWITCH_SYSTEM and LD_SWITCH_MACHINE
+ often contain options that have to do with using Emacs''s crt0,
which are only good with temacs. */
prefix-args${EXEEXT}: prefix-args.c $(config_h)
$(CC) $(ALL_CFLAGS) $(LDFLAGS) ${srcdir}/prefix-args.c -o prefix-args
-/* Don't lose if this was not defined. */
+/* Do not lose if this was not defined. */
#ifndef OLDXMENU_OPTIONS
#define OLDXMENU_OPTIONS
#endif
#endif /* not USE_X_TOOLKIT */
#else /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! HAVE_GTK) */
-/* We don\'t really need this, but satisfy the dependency. */
+/* We don''t really need this, but satisfy the dependency. */
stamp-oldxmenu:
touch stamp-oldxmenu
#endif /* not (HAVE_X_WINDOWS && HAVE_X11 && HAVE_MENUS && ! HAVE_GTK) */
They should define HAVE_ALLOCA.
Some use the C version in alloca.c (these define C_ALLOCA in config.h).
*/
-alloca.o: alloca.c blockinput.h atimer.h
+alloca.o: alloca.c blockinput.h atimer.h systime.h
/* Nearly all the following files depend on lisp.h,
but it is not included as a dependency because
ecrt0.o: ecrt0.c $(config_h)
CRT0_COMPILE ${srcdir}/ecrt0.c
dired.o: dired.c commands.h buffer.h $(config_h) charset.h coding.h regex.h \
- systime.h
+ systime.h blockinput.h atimer.h
dispnew.o: dispnew.c systime.h commands.h process.h frame.h \
window.h buffer.h dispextern.h termchar.h termopts.h termhooks.h cm.h \
disptab.h indent.h intervals.h \
doc.o: doc.c $(config_h) epaths.h buffer.h keyboard.h keymap.h charset.h
doprnt.o: doprnt.c charset.h $(config_h)
dosfns.o: buffer.h termchar.h termhooks.h frame.h blockinput.h window.h \
- msdos.h dosfns.h dispextern.h charset.h coding.h $(config_h)
+ msdos.h dosfns.h dispextern.h charset.h coding.h atimer.h systime.h \
+ $(config_h)
editfns.o: editfns.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \
- coding.h dispextern.h frame.h $(config_h)
+ coding.h dispextern.h frame.h blockinput.h atimer.h $(config_h)
emacs.o: emacs.c commands.h systty.h syssignal.h blockinput.h process.h \
termhooks.h buffer.h atimer.h systime.h $(INTERVAL_SRC) $(config_h) \
window.h dispextern.h keyboard.h keymap.h
fileio.o: fileio.c window.h buffer.h systime.h $(INTERVAL_SRC) charset.h \
- coding.h ccl.h msdos.h dispextern.h $(config_h)
+ coding.h msdos.h dispextern.h blockinput.h atimer.h $(config_h)
filelock.o: filelock.c buffer.h charset.h coding.h systime.h epaths.h $(config_h)
filemode.o: filemode.c $(config_h)
frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
systime.h dispextern.h syntax.h $(INTERVAL_SRC) blockinput.h \
atimer.h xterm.h puresize.h msdos.h keymap.h w32term.h macterm.h $(config_h)
keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
- atimer.h systime.h puresize.h charset.h intervals.h $(config_h)
+ atimer.h systime.h puresize.h charset.h intervals.h keymap.h window.h \
+ $(config_h)
lastfile.o: lastfile.c $(config_h)
macros.o: macros.c window.h buffer.h commands.h macros.h keyboard.h \
dispextern.h $(config_h)
mktime.o: mktime.c $(config_h)
msdos.o: msdos.c msdos.h dosfns.h systime.h termhooks.h dispextern.h frame.h \
termopts.h termchar.h charset.h coding.h ccl.h disptab.h window.h \
- keyboard.h intervals.h buffer.h commands.h blockinput.h $(config_h)
+ keyboard.h intervals.h buffer.h commands.h blockinput.h atimer.h $(config_h)
process.o: process.c process.h buffer.h window.h termhooks.h termopts.h \
commands.h syssignal.h systime.h systty.h syswait.h frame.h dispextern.h \
blockinput.h atimer.h charset.h coding.h ccl.h msdos.h composite.h \
frame.h atimer.h window.h msdos.h dosfns.h keyboard.h cm.h $(config_h)
term.o: term.c termchar.h termhooks.h termopts.h $(config_h) cm.h frame.h \
disptab.h dispextern.h keyboard.h charset.h coding.h ccl.h msdos.h \
- window.h keymap.h
+ window.h keymap.h blockinput.h atimer.h systime.h
termcap.o: termcap.c $(config_h)
terminal.o: terminal.c frame.h termchar.h termhooks.h charset.h coding.h \
keyboard.h $(config_h)
$(srcdir)/../lwlib/lwlib.h $(config_h)
window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
disptab.h keyboard.h dispextern.h msdos.h composite.h \
- keymap.h blockinput.h $(INTERVAL_SRC) xterm.h w32term.h macterm.h $(config_h)
+ keymap.h blockinput.h atimer.h systime.h $(INTERVAL_SRC) \
+ xterm.h w32term.h macterm.h $(config_h)
xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h coding.h \
termchar.h frame.h window.h disptab.h termhooks.h charset.h $(config_h) \
keyboard.h $(INTERVAL_SRC) region-cache.h xterm.h w32term.h macterm.h \
xsmfns.o: xsmfns.c $(config_h) systime.h sysselect.h termhooks.h xterm.h \
lisp.h termopts.h
gtkutil.o: gtkutil.c gtkutil.h xterm.h lisp.h frame.h $(config_h) \
- blockinput.h window.h atimer.h termhooks.h keyboard.h charset.h coding.h
+ blockinput.h window.h atimer.h systime.h termhooks.h keyboard.h \
+ charset.h coding.h
hftctl.o: hftctl.c $(config_h)
sound.o: sound.c dispextern.h $(config_h)
floatfns.o: floatfns.c $(config_h)
fns.o: fns.c commands.h $(config_h) frame.h buffer.h charset.h keyboard.h \
keymap.h frame.h window.h dispextern.h $(INTERVAL_SRC) coding.h md5.h \
- blockinput.h xterm.h termhooks.h
+ blockinput.h atimer.h systime.h xterm.h termhooks.h
print.o: print.c process.h frame.h window.h buffer.h keyboard.h charset.h \
$(config_h) dispextern.h termchar.h $(INTERVAL_SRC) msdos.h composite.h \
- termchar.h
+ blockinput.h atimer.h systime.h
lread.o: lread.c commands.h keyboard.h buffer.h epaths.h charset.h \
$(config_h) $(INTERVAL_SRC) termhooks.h coding.h msdos.h
coding.h ccl.h $(config_h)
macfns.o: macfns.c charset.h macterm.h macgui.h frame.h window.h buffer.h \
dispextern.h macgui.h fontset.h $(INTERVAL_SRC) keyboard.h blockinput.h \
- atimer.h systime.h epaths.h termhooks.h coding.h systime.h $(config_h)
+ atimer.h systime.h epaths.h termhooks.h coding.h $(config_h)
macmenu.o: macmenu.c termhooks.h frame.h window.h dispextern.h macgui.h \
keyboard.h blockinput.h atimer.h systime.h buffer.h macterm.h $(config_h)
macterm.o: blockinput.h atimer.h systime.h syssignal.h macterm.h macgui.h \
frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h termopts.h \
termchar.h gnu.h disptab.h buffer.h window.h keyboard.h $(INTERVAL_SRC) \
process.h coding.h $(config_h)
-macselect.o: blockinput.h macterm.h macgui.h frame.h keymap.h $(config_h)
+macselect.o: blockinput.h atimer.h systime.h macterm.h macgui.h frame.h \
+ keymap.h $(config_h)
${emacsapp}Contents/Resources/English.lproj:
mkdir -p $@
${emacsapp}Contents/Info.plist ${emacsapp}Contents/PkgInfo \
${emacsapp}Contents/Resources/Emacs.icns \
${emacsapp}Contents/Resources/English.lproj/InfoPlist.strings
-macosx-app: macosx-bundle ${emacsapp}Contents/MacOS/Emacs \
- ${emacsapp}Contents/Resources/Emacs.rsrc
+macosx-app: macosx-bundle ${emacsapp}Contents/MacOS/Emacs
${emacsapp}Contents/MacOS/Emacs: emacs${EXEEXT}
mkdir -p ${emacsapp}Contents/MacOS/;
cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs${EXEEXT} Emacs${EXEEXT}
-${emacsapp}Contents/Resources/Emacs.rsrc: ../mac/src/Emacs.r
- /Developer/Tools/Rez -useDF \
- -o ${emacsapp}Contents/Resources/Emacs.rsrc \
- /System/Library/Frameworks/Carbon.framework/Headers/Carbon.r $<
#endif
${libsrc}emacstool${EXEEXT}: ${libsrc}emacstool.c
cd ${libsrc}; ${MAKE} ${MFLAGS} emacstool${EXEEXT}
bootstrapclean:
- rm -f bootstrap-emacs${EXEEXT}
+ rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT}
mostlyclean:
rm -f temacs${EXEEXT} prefix-args${EXEEXT} core *.core \#* *.o libXMenu11.a liblw.a
rm -f ../etc/DOC
- rm -f bootstrap-emacs${EXEEXT}
+ rm -f bootstrap-emacs${EXEEXT} emacs-${version}${EXEEXT}
rm -f buildobj.lst
clean: mostlyclean
rm -f emacs-*${EXEEXT} emacs${EXEEXT}