# Makefile for GNU Emacs.
-# Copyright (C) 1985, 87, 88, 93, 94, 95, 99, 2000, 2001, 2003
+# Copyright (C) 1985, 87, 88, 93, 94, 95, 99, 2000, 01, 03, 2004
# Free Software Foundation, Inc.
# This file is part of GNU Emacs.
#endif
#ifdef HAVE_X_WINDOWS
+
+XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o
+
#ifdef HAVE_MENUS
-/* Include xmenu.o in the list of X object files. */
+#ifndef HAVE_CARBON
+XMENU_OBJ = xmenu.o
+#endif
#ifdef USE_GTK
-XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o gtkutil.o fringe.o
-#else
-XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o
+GTK_OBJ= gtkutil.o
#endif
/* The X Menu stuff is present in the X10 distribution, but missing
#else /* not HAVE_MENUS */
-/* Otherwise, omit xmenu.o from the list of X object files, and
- don't worry about the menu library at all. */
-XOBJ= xterm.o xfns.o xselect.o xrdb.o fontset.o xsmfns.o fringe.o image.o
+/* Otherwise, don't worry about the menu library at all. */
LIBXMENU=
#endif /* not HAVE_MENUS */
#else /* not HAVE_X11 */
LIBX= $(LIBXMENU) LD_SWITCH_X_SITE -lX10 LIBX10_MACHINE LIBX10_SYSTEM
#endif /* not HAVE_X11 */
+#else /* not HAVE_X_WINDOWS */
+#if defined(HAVE_MENUS) && !defined(HAVE_CARBON)
+XMENU_OBJ = xmenu.o
+#endif
#endif /* not HAVE_X_WINDOWS */
LIBSOUND= @LIBSOUND@
#endif
#endif
+#ifdef CYGWIN
+CYGWIN_OBJ = sheap.o
+#endif
+
#ifdef HAVE_CARBON
mac = $(dot)$(dot)/mac/
-XMENU_OBJ =
MAC_OBJ = mac.o macterm.o macfns.o macmenu.o fontset.o fringe.o image.o
emacsapp = $(PWD)/$(mac)Emacs.app/
emacsappsrc = ${srcdir}/../mac/Emacs.app/
-#else
-XMENU_OBJ = xmenu.o
#endif
/* lastfile must follow all files
whose initialized data areas should be dumped as pure by dump-emacs. */
obj= dispnew.o frame.o scroll.o xdisp.o $(XMENU_OBJ) window.o \
charset.o coding.o category.o ccl.o \
- cm.o term.o xfaces.o $(XOBJ) \
+ cm.o term.o xfaces.o $(XOBJ) $(GTK_OBJ)\
emacs.o keyboard.o macros.o keymap.o sysdep.o \
buffer.o filelock.o insdel.o marker.o \
minibuf.o fileio.o dired.o filemode.o \
process.o callproc.o \
region-cache.o sound.o atimer.o \
doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \
- $(MSDOS_OBJ) $(MAC_OBJ)
+ $(MSDOS_OBJ) $(MAC_OBJ) $(CYGWIN_OBJ)
/* Object files used on some machine or other.
These go in the DOC file on all machines
/* define otherobj as list of object files that make-docfile
should not be told about. */
+#ifdef CYGWIN
+/* Cygwin differs because of its unexec(). */
+otherobj= $(termcapobj) $(gmallocobj) $(rallocobj) lastfile.o vm-limit.o $(allocaobj) $(widgetobj) $(LIBOBJS)
+#else
otherobj= $(termcapobj) lastfile.o $(mallocobj) $(allocaobj) $(widgetobj) $(LIBOBJS)
+#endif
#ifdef HAVE_MOUSE
#define MOUSE_SUPPORT ${lispsource}mouse.elc \