Mercurial > hg > xemacs-beta
diff src/Makefile.in.in @ 163:0132846995bd r20-3b8
Import from CVS: tag r20-3b8
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:43:35 +0200 |
parents | 3bb7ccffb0c0 |
children | 5a88923fcbfe |
line wrap: on
line diff
--- a/src/Makefile.in.in Mon Aug 13 09:42:28 2007 +0200 +++ b/src/Makefile.in.in Mon Aug 13 09:43:35 2007 +0200 @@ -1,47 +1,41 @@ -/* Makefile for src subdirectory in XEmacs. - Copyright (C) 1985, 1987, 1988, 1993, 1994 Free Software Foundation, Inc. - Copyright (C) 1994, 1995 Board of Trustees, University of Illinois +## Makefile for src subdirectory in XEmacs. +## Copyright (C) 1985, 1987, 1988, 1993, 1994 Free Software Foundation, Inc. +## Copyright (C) 1994, 1995 Board of Trustees, University of Illinois +## Copyright (C) 1996, 1997 Sun Microsystems, Inc. -This file is part of XEmacs. +## This file is part of XEmacs. -XEmacs 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) any -later version. +## XEmacs 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) any +## later version. -XEmacs is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -for more details. +## XEmacs is distributed in the hope that it will be useful, but WITHOUT +## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +## for more details. -You should have received a copy of the GNU General Public License -along with XEmacs; see the file COPYING. If not, write to -the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -Boston, MA 02111-1307, USA. */ +## You should have received a copy of the GNU General Public License +## along with XEmacs; see the file COPYING. If not, write to +## the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +## Boston, MA 02111-1307, USA. -/* Synched up with: Not synched with FSF. */ +## Synched up with: Not synched with FSF. @SET_MAKE@ -/* Some people use these in paths they define. We do not want their paths - getting changed on them. */ -#undef sparc -#undef sun -#undef unix -#undef sgi -#undef NeXT -#undef i386 +all: xemacs +.PHONY : all release dump-elc dump-elcs all-elc all-elcs lint -/* For performance and consistency, no built-in rules */ +## For performance and consistency, no built-in rules. .SUFFIXES: .SUFFIXES: .c .o .i .h -dot = . -/* On Xenix and the IBM RS6000, double-dot gets screwed up. */ -lispdir = ${srcdir}/$(dot)$(dot)/lisp/ -libsrc = $(dot)$(dot)/lib-src/ -etcdir = $(dot)$(dot)/etc/ -/* Here are the things that we expect ../configure to edit. */ +lispdir = ${srcdir}/../lisp/ +libsrc = ../lib-src/ +etcdir = ../etc/ + +## Here are the things that we expect ../configure to edit. srcdir=@srcdir@ CC=@CC@ CPP=@CPP@ @@ -62,30 +56,38 @@ extra_objs=@extra_objs@ LN_S=@LN_S@ -/* just to be sure the sh is used */ +ld_switch_call_shared=@ld_switch_call_shared@ +ld_switch_shared=@ld_switch_shared@ +start_files=@start_files@ +start_flags=@start_flags@ +LD=@ld@ +lib_gcc=@lib_gcc@ + +## just to be sure the sh is used SHELL=/bin/sh #define NO_SHORTNAMES #define NOT_C_CODE #include "config.h" -/* With the traditional VPATH setting, it is not possible to - simultaneously compile in-place and in another directory. The - mistaken definition is that *all* dependencies are searched for in - the VPATH directory, rather than just the dependencies that are not - themselves targets. Thus, if there is an up-to-date .o file in the - in-place location, it will not get recompiled in the not-in-place - location. +## With the traditional VPATH setting, it is not possible to +## simultaneously compile in-place and in another directory. The +## mistaken definition is that *all* dependencies are searched for in +## the VPATH directory, rather than just the dependencies that are not +## themselves targets. Thus, if there is an up-to-date .o file in the +## in-place location, it will not get recompiled in the not-in-place +## location. - The GNU Make "vpath" directive continues this tradition, but at - least lets you restrict the classes of files that it applies to. - This allows us to kludge around the problem. */ +## The GNU Make "vpath" directive continues this tradition, but at +## least lets you restrict the classes of files that it applies to. +## This allows us to kludge around the problem. + #ifdef USE_GNU_MAKE vpath %.c @srcdir@ vpath %.h @srcdir@ -/* now list files that should NOT be searched in the srcdir. - This includes any .c or .h built from something else - (e.g. a .in file). */ +## now list files that should NOT be searched in the srcdir. +## This includes any .c or .h built from something else +## (e.g. a .in file). vpath config.h vpath paths.h vpath Emacs.ad.h @@ -94,59 +96,7 @@ VPATH=@srcdir@ #endif -/* On some machines #define register is done in config; - do not let it interfere with this file. */ -#undef register - -/* Unless inhibited or changed, use -lg to link for debugging. */ -#ifndef LIBS_DEBUG -#define LIBS_DEBUG "-lg" -#endif - -#ifndef LD_SWITCH_CALL_SHARED -#define LD_SWITCH_CALL_SHARED -#endif /* define a call_shared switch */ - -#ifndef LD_SWITCH_SHARED -#define LD_SWITCH_SHARED "-c" -#endif /* define a shared switch */ - -#ifndef ORDINARY_LINK - -#ifndef CRT0_COMPILE -#define CRT0_COMPILE $(CC) "-c" $(cflags) C_SWITCH_ASM -#endif - -#ifndef START_FILES -#ifdef NO_REMAP -#ifdef COFF_ENCAPSULATE -#define START_FILES "pre-crt0.o" "/usr/local/lib/gcc-crt0.o" -#else /* ! defined (COFF_ENCAPSULATE) */ -#define START_FILES "pre-crt0.o" "/lib/crt0.o" -#endif /* ! defined (COFF_ENCAPSULATE) */ -#else /* ! defined (NO_REMAP) */ -#define START_FILES "ecrt0.o" -#endif /* ! defined (NO_REMAP) */ -#endif /* START_FILES */ -STARTFILES = START_FILES - -#else /* ORDINARY_LINK */ - -/* config.h might want to force START_FILES anyway */ -#ifdef START_FILES -STARTFILES = START_FILES -#else -STARTFILES = -#endif /* START_FILES */ - -#endif /* not ORDINARY_LINK */ - -/* cc switches needed to make the "asm" keyword work. - Nothing special needed on most machines. */ -#ifndef C_SWITCH_ASM -#define C_SWITCH_ASM -#endif - +RM = rm -f PURIFY_PROG=purify PURIFY_FLAGS=-chain-length=16 -ignore-signals=SIGPOLL -log-file=puremacs.log \ -messages=batch -show-directory=yes -windows=yes \ @@ -167,15 +117,14 @@ sound_cflags=@sound_cflags@ #endif -LWLIB_SRCDIR = ${srcdir}/$(dot)$(dot)/lwlib +LWLIB_SRCDIR = ${srcdir}/../lwlib #ifdef HAVE_X_WINDOWS -LWLIB_BUILDDIR = $(dot)$(dot)/lwlib - -LWLIB_LDFLAGS = -L$(LWLIB_BUILDDIR) -LWLIB_LIBS = -llw -/* LWLIB_CPPFLAGS = -I$(LWLIB_SRCDIR) */ -LWLIB_DEPS = $(LWLIB_BUILDDIR)/liblw.a +lwlib_libs = ../lwlib/liblw.a +lwlib_deps = $(lwlib_libs) +$(lwlib_libs) : + cd ../lwlib && ${MAKE} ${MFLAGS} +## LWLIB_LDFLAGS = -L../lwlib x_objs=balloon_help.o balloon-x.o console-x.o device-x.o event-Xt.o frame-x.o\ glyphs-x.o objects-x.o redisplay-x.o xgccache.o xselect.o @@ -187,88 +136,20 @@ X11_libs= $(LIBX11_LIBS) $(libx11_intl) $(LIBI18N) #endif /* HAVE_X_WINDOWS */ -/* -Demacs is needed to make some files produce the correct version - for use in Emacs. */ +## -Demacs is needed to make some files produce the correct version +## for use in Emacs. cppflags = $(CPPFLAGS) -Demacs -I. $(c_switch_all) - -cflags= $(CFLAGS) $(cppflags) - -ldflags = -L. $(LWLIB_LDFLAGS) $(ld_switch_all) +cflags = $(CFLAGS) $(cppflags) +ldflags = -L. $(ld_switch_all) .c.o: $(CC) -c $(cflags) $< -/* Create preprocessor output (debugging purposes only) */ +## Create preprocessor output (debugging purposes only) .c.i: $(CC) -P $(cppflags) $< -#ifndef ORDINARY_LINK -/* Fix linking if compiled with GCC. */ -#ifdef __GNUC__ - -/* 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 is no reason not to use it as a linker. - - Well, it is not quite perfect. The "-nostdlib" option keeps GCC - from searching for libraries in its internal directories, so we - have to ask GCC explicitly where to find libgcc.a. */ - -#ifndef LINKER -#define LINKER $(CC) "-nostdlib" -/* GCC passes any argument prefixed with -Xlinker directly to the - linker. See prefix-args.c for an explanation of why we do not do - this with the shell "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` -#endif /* LINKER */ - -#ifndef LIB_GCC -/* Ask GCC where to find libgcc.a. */ -#define LIB_GCC `$(CC) -print-libgcc-file-name` -#endif /* LIB_GCC */ - -GNULIB_VAR = LIB_GCC - -#else /* ! defined (__GNUC__) */ -GNULIB_VAR = - -#endif /* ! defined (__GNUC__) */ -#else -GNULIB_VAR = -#endif /* not ORDINARY_LINK */ - -/* A macro which other sections of the makefile can redefine to munge the - flags before they are passed to LD. This is helpful if you have - redefined LD to something odd, like "gcc". */ -#ifndef YMF_PASS_LDFLAGS -#define YMF_PASS_LDFLAGS(flags) flags -#endif - -/* Specify address for ld to start loading at, if requested by configuration. */ -#ifdef LD_TEXT_START_ADDR -STARTFLAGS = "-T" LD_TEXT_START_ADDR "-e" "__start" -#else -STARTFLAGS = -#endif - -#ifdef ORDINARY_LINK -LD = $(CC) $(CFLAGS) -#else -#ifdef COFF_ENCAPSULATE -LD=$(CC) -nostdlib -#else /* not ORDINARY_LINK */ -#ifdef LINKER -LD=LINKER -#else /* ! defined (LINKER) */ -LD=ld -#endif /* ! defined (LINKER) */ -#endif /* ! defined (COFF_ENCAPSULATE) */ -#endif /* not ORDINARY_LINK */ - #ifdef ENERGIZE # ifdef EMACS_BTL BTL_dir=$(srcdir)/../btl @@ -280,15 +161,11 @@ energize_objs = energize.o $(freecheck_objs) #endif /* ENERGIZE */ -#ifdef HAVE_UNIXOID_EVENT_LOOP -event_unixoid_objs = event-unixoid.o -#endif +## lastfile must follow all files whose initialized data areas should +## be dumped as pure by dump-emacs. -/* lastfile must follow all files whose initialized data areas should - be dumped as pure by dump-emacs. */ - -/* NOTE: The last line cannot be all macros, because make will barf - if they all come out null. */ +## NOTE: The last line cannot be all macros, because make will barf +## if they all come out null. objs=\ abbrev.o alloc.o blocktype.o buffer.o bytecode.o\ @@ -297,7 +174,7 @@ data.o device.o dired.o doc.o doprnt.o dynarr.o\ editfns.o elhash.o emacs.o\ $(energize_objs) eval.o events.o $(extra_objs)\ - event-stream.o $(event_unixoid_objs) extents.o faces.o\ + event-stream.o extents.o faces.o\ fileio.o filelock.o filemode.o floatfns.o fns.o font-lock.o\ frame.o general.o getloadavg.o glyphs.o\ $(gui_objs) hash.o indent.o insdel.o intl.o\ @@ -337,14 +214,14 @@ # ifdef EXTERNAL_WIDGET external_widget_objs = ExternalShell.o extw-Xt-nonshared.o extw-Xlib-nonshared.o -/* Now we try to figure out how to link a shared library. - If we cannot figure it out, leave EXTW_LINK undefined and a shared - library will not be created. */ +## Now we try to figure out how to link a shared library. +## If we cannot figure it out, leave EXTW_LINK undefined and a shared +## library will not be created. # ifdef USE_GCC # ifdef USG5 # define EXTW_LINK(objs, output) $(CC) -shared objs -Xlinker -z -Xlinker text -o output - /* I cannot figure out how to do shared a.out libraries, so just punt. */ +## I cannot figure out how to do shared a.out libraries, so just punt. # elif !defined (LINUX) || defined (__ELF__) # define EXTW_LINK(objs, output) $(CC) -shared objs -o output # endif @@ -356,7 +233,7 @@ # endif /* not IRIX */ # else /* not USG5 */ # if defined (DEC_ALPHA) && defined (OSF1) -# define EXTW_LINK(objs, output) $(LD) $(ldflags) LD_SWITCH_SHARED -d objs -o output $(LIBES) +# define EXTW_LINK(objs, output) $(LD) $(ldflags) $(ld_switch_shared) -d objs -o output $(LIBES) # else /* !(DEC_ALPHA && OSF1) */ # define EXTW_LINK(objs, output) $(LD) -dc objs -assert pure-text -o output # endif /* !(DEC_ALPHA && OSF1) */ @@ -382,208 +259,16 @@ X11_objs = EmacsFrame.o EmacsShell.o TopLevelEmacsShell.o TransientEmacsShell.o EmacsManager.o $(external_widget_objs) #endif /* HAVE_X_WINDOWS */ -/* define otherobjs as list of object files that make-docfile - should not be told about. */ +## define otherobjs as list of object files that make-docfile +## should not be told about. otherobjs = $(BTL_objs) lastfile.o $(mallocobjs) $(rallocobjs) $(X11_objs) -#ifdef LISP_FLOAT_TYPE -float_lisp = ${lispdir}prim/float-sup.elc -#endif -#ifdef HAVE_X_WINDOWS -/* lisp files preloaded if compiled with support for X Windows */ -# ifdef HAVE_TOOLBARS -x11_toolbar_lisp = ${lispdir}x11/x-toolbar.elc -# endif -# ifdef HAVE_MENUBARS -x11_menubar_lisp = ${lispdir}x11/x-menubar.elc -# endif -# ifdef HAVE_SCROLLBARS -x11_scrollbar_lisp = ${lispdir}x11/x-scrollbar.elc -# endif -x11_lisp=\ - ${x11_menubar_lisp}\ - ${lispdir}x11/x-faces.elc\ - ${lispdir}x11/x-iso8859-1${null}.elc ${lispdir}x11/x-mouse.elc\ - ${lispdir}x11/x-select.elc ${x11_scrollbar_lisp}\ - ${x11_toolbar_lisp} ${lispdir}x11/x-misc.elc\ - ${lispdir}x11/x-init.elc -#endif - -#ifdef HAVE_TTY -/* lisp files preloaded if compiled with support for tty */ -tty_lisp = ${lispdir}term/tty-init.elc -#endif - -#ifdef MULE -#ifdef HAVE_X_WINDOWS -mule_x11_lisp = ${lispdir}mule/mule-x-init.elc -#endif -mule_lisp=\ - ${lispdir}mule/mule-load.elc ${lispdir}mule/mule-coding.elc\ - ${lispdir}mule/mule-charset.elc ${lispdir}mule/mule-files.elc\ - ${lispdir}mule/mule-category.elc ${lispdir}mule/mule-misc.elc\ - ${lispdir}mule/mule-ccl.elc\ - ${lispdir}mule/mule-init.elc ${lispdir}mule/mule-cmds.elc\ - ${lispdir}mule/kinsoku.elc\ - ${mule_x11_lisp}\ - ${lispdir}mule/arabic-hooks.elc\ - ${lispdir}language/chinese.elc\ - ${lispdir}language/cyrillic.elc\ - ${lispdir}language/english.elc \ - ${lispdir}mule/ethiopic-hooks.elc\ - ${lispdir}language/european.elc\ - ${lispdir}language/greek.elc\ - ${lispdir}mule/hebrew-hooks.elc\ - ${lispdir}language/japanese.elc\ - ${lispdir}language/korean.elc\ - ${lispdir}language/misc-lang.elc\ - ${lispdir}language/thai.elc\ - ${lispdir}mule/vietnamese-hooks-1${null}.elc\ - ${lispdir}mule/vietnamese-hooks-2${null}.elc -#else -nomule_lisp = ${lispdir}prim/files-nomule.elc -#endif - -#ifdef ENERGIZE -/* Lisp files preloaded if compiled with support for Energize */ -energize_lisp=\ - ${lispdir}comint/gdb.elc\ - ${lispdir}comint/comint.elc ${lispdir}comint/shell.elc\ - ${lispdir}utils/ring.elc ${lispdir}packages/compile.elc\ - ${lispdir}modes/view-less.elc ${lispdir}emulators/evi.elc\ - ${lispdir}packages/font-lock.elc ${lispdir}packages/fast-lock.elc\ - ${lispdir}dired/dired.elc ${lispdir}dired/dired-x.elc\ - ${lispdir}dired/dired-lucid.elc ${lispdir}prim/userlock.elc\ - ${lispdir}energize/energize-init.elc\ - ${lispdir}energize/energize-mode.elc\ - ${lispdir}energize/energize-windows.elc\ - ${lispdir}energize/energize-menus.elc\ - ${lispdir}energize/energize-shell.elc\ - ${lispdir}energize/energize-visit-use.elc\ - ${lispdir}energize/energize-vi.elc\ - ${lispdir}energize/energize-font-lock.elc\ - ${lispdir}energize/energize-advice.elc -#endif +LIBES = $(lwlib_libs) $(quantify_libs) $(ld_libs_all) $(GNULIB_VAR) -#ifdef SUNPRO -/* Lisp files preloaded if compiled with support for SunPro products */ -sunpro_lisp=\ - ${lispdir}sunpro/sunpro-init.elc\ - ${lispdir}sunpro/sunpro-menubar.elc\ - ${lispdir}sunpro/sunpro-keys.elc\ - ${lispdir}eos/sun-eos-init.elc\ - ${lispdir}eos/sun-eos-load.elc\ - ${lispdir}eos/sun-eos-common.elc\ - ${lispdir}eos/sun-eos-editor.elc\ - ${lispdir}eos/sun-eos-browser.elc\ - ${lispdir}eos/sun-eos-debugger.elc\ - ${lispdir}eos/sun-eos-debugger-extra.elc\ - ${lispdir}eos/sun-eos-toolbar.elc\ - ${lispdir}eos/sun-eos-menubar.elc\ - ${lispdir}comint/comint.elc\ - ${lispdir}utils/ring.elc\ - ${lispdir}utils/annotations.elc\ - ${lispdir}modes/cc-mode.elc\ - ${lispdir}modes/imenu.elc\ - ${lispdir}utils/reporter.elc -#endif - -#ifdef TOOLTALK -/* Lisp files preloaded if compiled with support for Tooltalk */ -tooltalk_lisp=\ - ${lispdir}tooltalk/tooltalk-load.elc\ - ${lispdir}tooltalk/tooltalk-macros.elc\ - ${lispdir}tooltalk/tooltalk-util.elc\ - ${lispdir}tooltalk/tooltalk-init.elc -#endif - -#ifdef LISP_COMMAND_LOOP -cmdloop_lisp = ${lispdir}prim/cmdloop1.elc -#endif - -#ifdef HAVE_TOOLBARS -toolbar_lisp = ${lispdir}prim/toolbar.elc -#endif -#ifdef HAVE_MENUBARS -menubar_lisp = ${lispdir}prim/menubar.elc -#endif -#ifdef HAVE_SCROLLBARS -scrollbar_lisp = ${lispdir}prim/scrollbar.elc -#endif -#ifdef HAVE_DIALOGS -dialog_lisp = ${lispdir}prim/dialog.elc -#endif -#ifdef HAVE_WINDOW_SYSTEM -mouse_lisp=\ - ${lispdir}prim/gui.elc\ - ${lispdir}prim/mouse.elc\ - ${lispdir}prim/mode-motion.elc -#endif +## Enable recompilation of certain other files depending on system type. -/* List of Lisp files loaded into the dumped Emacs. - Every file that is loaded from loadup.el must be enumerated - here, or the functions will have no docstrings. - This is dumb - this list should be generated automatically. - [Note: "version.el" is included in the doc separately, but is not listed - here because we do not want things to appear to be out-of-date just - because the version number has been incremented. -- D.N.G. 8/28/93] - */ -lisp=\ - ${lispdir}paths.el ${lispdir}prim/featurep.elc\ - ${lispdir}prim/loaddefs.elc ${lispdir}prim/auto-autoloads.elc\ - ${lispdir}prim/loadup.el ${lispdir}prim/subr.elc\ - ${lispdir}prim/cmdloop.elc ${cmdloop_lisp}\ - ${lispdir}utils/text-props.elc ${mouse_lisp}\ - ${lispdir}prim/keymap.elc ${lispdir}prim/syntax.elc\ - ${lispdir}prim/minibuf.elc ${lispdir}prim/faces.elc\ - ${lispdir}prim/objects.elc ${lispdir}prim/process.elc\ - ${lispdir}prim/keydefs.elc ${lispdir}prim/device.elc\ - ${lispdir}prim/obsolete.elc ${lispdir}prim/glyphs.elc\ - ${lispdir}prim/extents.elc ${lispdir}prim/backquote.elc\ - ${lispdir}prim/events.elc ${lispdir}prim/console.elc\ - ${lispdir}utils/map-ynp.elc ${lispdir}prim/modeline.elc\ - ${lispdir}modes/list-mode.elc\ - ${lispdir}utils/derived.elc ${lispdir}cl/cl.elc\ - ${lispdir}cl/cl-defs.elc ${lispdir}prim/undo-stack.elc\ - ${lispdir}prim/simple.elc ${lispdir}prim/help.elc\ - ${lispdir}prim/files.elc ${lispdir}utils/lib-complete.elc\ - ${lispdir}prim/indent.elc ${lispdir}prim/frame.elc\ - ${toolbar_lisp} ${lispdir}prim/format.elc\ - ${lispdir}prim/window.elc ${lispdir}prim/window-xemacs.elc\ - ${lispdir}prim/startup.elc\ - ${lispdir}prim/lisp.elc ${lispdir}prim/page.elc\ - ${lispdir}prim/register.elc ${lispdir}iso/iso8859-1${null}.elc\ - ${lispdir}prim/paragraphs.elc ${lispdir}modes/lisp-mode.elc\ - ${lispdir}modes/text-mode.elc ${lispdir}prim/fill.elc\ - ${lispdir}prim/isearch-mode.elc ${lispdir}prim/misc.elc\ - ${lispdir}packages/vc-hooks.elc\ - ${lispdir}prim/replace.elc ${lispdir}prim/specifier.elc\ - ${lispdir}modes/auto-show.elc ${sunpro_lisp} ${tty_lisp}\ - ${lispdir}bytecomp/bytecomp-runtime.elc ${float_lisp}\ - ${lispdir}prim/itimer.elc ${lispdir}prim/itimer-autosave.elc\ - ${lispdir}ediff/ediff-hook.elc\ - ${lispdir}custom/widget.elc ${lispdir}custom/custom.elc\ - ${lispdir}prim/cus-start.elc\ - ${lispdir}packages/fontl-hooks.elc ${scrollbar_lisp}\ - ${lispdir}prim/buffer.elc ${menubar_lisp}\ - ${lispdir}packages/buff-menu.elc ${dialog_lisp} ${mule_lisp} ${nomule_lisp}\ - ${lispdir}modes/abbrev.elc ${x11_lisp} ${energize_lisp} ${tooltalk_lisp} - -/* Other Lisp files that are not dumped out but where it is convenient - (or required?) for them to be byte-compiled early, before xemacs is - dumped out. Avoid listing them in ${lisp} because then the - doc-snarfing routines get confused. */ -otherlisp=\ - ${lispdir}bytecomp/bytecomp.elc\ - ${lispdir}bytecomp/byte-optimize.elc\ - ${lispdir}utils/advice.elc - -LIBES = $(LWLIB_LIBS) $(quantify_libs) $(ld_libs_all) LIBS_DEBUG $(GNULIB_VAR) - -/* Enable recompilation of certain other files depending on system type. */ - -/* Enable inclusion of object files in temacs depending on system type. */ +## Enable inclusion of object files in temacs depending on system type. #ifndef OBJECTS_SYSTEM #define OBJECTS_SYSTEM #endif @@ -612,20 +297,16 @@ else true; fi @touch SATISFIED -$(DUMPENV) ./temacs -nl -batch -l loadup.el dump - @if [ ! -f SATISFIED ]; then \ - $(MAKE) release; \ - fi - @/bin/rm -f SATISFIED + @if test ! -f SATISFIED; then $(MAKE) $@; fi + @$(RM) SATISFIED #else /* ! defined (HAVE_SHM) */ -if [ -w ${srcdir}/../lisp ]; then \ w=`pwd`; cd ${srcdir} && $${w}/temacs -batch -l inc-vers; \ else true; fi @touch SATISFIED -$(DUMPENV) ./temacs -batch -l loadup.el dump - @if [ ! -f SATISFIED ]; then \ - $(MAKE) release; \ - fi - @/bin/rm -f SATISFIED + @if test ! -f SATISFIED; then $(MAKE) $@; fi + @$(RM) SATISFIED #endif /* ! defined (HAVE_SHM) */ touch release #endif /* ! defined (CANNOT_DUMP) */ @@ -633,45 +314,38 @@ xemacs: temacs ${libsrc}DOC ${lisp} $(mo_file) ${other_files} @touch SATISFIED -$(DUMPENV) ./temacs -batch -l loadup.el dump - @if [ ! -f SATISFIED ]; then \ - $(MAKE) xemacs; \ - fi - @/bin/rm -f SATISFIED + @if test ! -f SATISFIED; then $(MAKE) $@; fi + @$(RM) SATISFIED xemacs-no-site-file: temacs ${libsrc}DOC ${lisp} $(mo_file) ${other_files} @touch SATISFIED -$(DUMPENV) ./temacs -batch -l loadup.el dump no-site-file - @test ! -f SATISFIED && $(MAKE) xemacs-no-site-file - @/bin/rm -f SATISFIED + @if test ! -f SATISFIED; then $(MAKE) $@; fi + @$(RM) SATISFIED obj_src = $(objs:.o=.c) #ifdef DYNODUMP -dynodump_builddir = $(dot)$(dot)/dynodump -dynodump_deps = $(dynodump_builddir)/dynodump.so -$(dynodump_builddir)/dynodump.so: force - cd ${dynodump_builddir} && ${MAKE} ${MFLAGS} +dynodump_deps = ../dynodump/dynodump.so +../dynodump/dynodump.so: + cd ../dynodump && ${MAKE} ${MFLAGS} #endif /* DYNODUMP */ -#ifdef NO_DOC_FILE -${libsrc}DOC: ${libsrc}make-docfile -#else -${libsrc}DOC: ${libsrc}make-docfile ${obj_src} ${lisp} -#endif - rm -f ${libsrc}DOC - ${libsrc}make-docfile -d ${srcdir} -i ${libsrc}../site-packages \ - ${obj_src} ${mallocdocsrc} ${rallocdocsrc} ${lispdir}version.el \ - ${lisp} > ${libsrc}DOC +${libsrc}DOC: + $(RM) ${libsrc}DOC + -${DUMPENV} ./temacs -batch -l ../prim/make-docfile.el -- \ + -o ${libsrc}DOC -d ${srcdir} -i ${libsrc}../site-packages \ + ${obj_src} ${mallocdocsrc} ${rallocdocsrc} dump_elcs: dump-elcs dump-elcs: temacs @touch SATISFIED - -$(LOADPATH) ./temacs -batch -l ../prim/update-elc.el $(lisp) $(otherlisp) + -${DUMPENV} ./temacs -batch -l ../prim/update-elc.el @if [ ! -f SATISFIED ]; then \ $(MAKE) dump-elcs; \ fi - @/bin/rm -f SATISFIED + @$(RM) SATISFIED all-elc all-elcs: cd .. && $(MAKE) all-elc $(MFLAGS) @@ -691,7 +365,7 @@ ${mo_dir}emacs.po: ${libsrc}make-msgfile ${libsrc}make-po ${objs} ${lisp} ${libsrc}make-msgfile -o ${libsrc}messages ${objs} ${lisp} ${otherlisp} cd ${libsrc} && ${xgettext} ${xgettext_args} - rm -f ${mo_dir}emacs.po + $(RM) ${mo_dir}emacs.po cd ${libsrc} && ${libsrc}make-po -a ${mo_dir}emacs.po DOC ${mo_dir}emacs.mo: ${mo_dir}emacs.po @@ -708,36 +382,23 @@ ${libsrc}make-docfile: cd ${libsrc} && ${MAKE} ${MFLAGS} make-docfile -/* Lint Section */ +## Lint Section LINT.c=$(LINT) $(LINTFLAGS) $(LINTINCLUDES) LINTFILES= $(objs:.o=.ln) LINTINCLUDES = $(cppflags) -/* LINTFLAGS= -fd -m -p -s -u -v -x */ +## LINTFLAGS= -fd -m -p -s -u -v -x LINTFLAGS= -fd -m -s -u -v -x lint: $(LINTFILES) $(LINT.c) $(LINTFILES) -/* end of Lint Section */ - -force: -$(LWLIB_BUILDDIR)/liblw.a: force - cd ${LWLIB_BUILDDIR} && ${MAKE} ${MFLAGS} - -/* Some systems define this to cause parallel Make-ing. */ -#ifndef MAKE_PARALLEL -#define MAKE_PARALLEL -#endif +## end of Lint Section temacs_deps=\ - MAKE_PARALLEL $(LOCALCPP) $(SHORT) $(STARTFILES)\ - ${objs} ${otherobjs} OBJECTS_SYSTEM OBJECTS_MACHINE\ - $(LWLIB_DEPS) $(dynodump_deps) prefix-args + $(LOCALCPP) $(SHORT) $(start_files) ${objs} ${otherobjs}\ + $(lwlib_deps) $(dynodump_deps) prefix-args temacs_link_args=\ - ${STARTFLAGS} ${ldflags} LD_SWITCH_CALL_SHARED\ - -o $@ ${STARTFILES} ${objs} ${otherobjs}\ - OBJECTS_SYSTEM OBJECTS_MACHINE ${LIBES} - -temacs_deps: $(temacs_deps) + ${start_flags} ${ldflags} $(ld_switch_call_shared)\ + -o $@ ${start_files} ${objs} ${otherobjs} ${LIBES} temacs: $(temacs_deps) $(LD) $(temacs_link_args) @@ -746,7 +407,7 @@ rtc_patch_area -o $@ rtcmacs: $(temacs_deps) rtc_patch.o - rm -f temacs; $(MAKE) $(MAKE_FLAGS) temacs RTC_patch_objs=rtc_patch.o + $(RM) temacs; $(MAKE) $(MAKE_FLAGS) temacs RTC_patch_objs=rtc_patch.o mv temacs rtcmacs rtcrun: rtcmacs @@ -776,7 +437,7 @@ $(CC) -c $(cflags) -DDEFINE_TRANSIENT_EMACS_SHELL ${srcdir}/EmacsShell-sub.c mv EmacsShell-sub.o TransientEmacsShell.o -/* Position-independent code for shared library creation */ +## Position-independent code for shared library creation #if USE_GCC pic_arg = -fpic #elif defined (IRIX) @@ -794,7 +455,7 @@ external_client_xt_objs_nonshared = ExternalClient-Xt-nonshared.o extw-Xt-nonshared.o extw-Xlib-nonshared.o external_client_xlib_objs_nonshared = ExternalClient-Xlib-nonshared.o extw-Xlib-nonshared.o -/* Add dependencies so things work right with a parallel make */ +## Add dependencies so things work right with a parallel make ExternalClient-Xm-shared.o: ${srcdir}/ExternalClient.c ExternalClient-Xt-shared.o ExternalClient-Xm-nonshared.o $(CC) -c $(pic_arg) $(cflags) -DEXTW_USES_MOTIF ${srcdir}/ExternalClient.c mv ExternalClient.o ExternalClient-Xm-shared.o @@ -819,9 +480,10 @@ $(CC) -c $(cflags) ${srcdir}/ExternalClient-Xlib.c mv ExternalClient-Xlib.o ExternalClient-Xlib-nonshared.o -/* We compile the common files twice (once with PIC and once without) - because on some systems, compiling with PIC but not linking into - a shared library messes things up. */ +## We compile the common files twice (once with PIC and once without) +## because on some systems, compiling with PIC but not linking into +## a shared library messes things up. + extw-Xt-shared.o: ${srcdir}/extw-Xt.c extw-Xt-nonshared.o $(CC) -c $(pic_arg) $(cflags) ${srcdir}/extw-Xt.c mv extw-Xt.o extw-Xt-shared.o @@ -871,56 +533,48 @@ #endif config.h: ${srcdir}/config.h.in - @echo "The file $@ needs to be set up from config.h.in." - @echo "Consult the file \`INSTALL' for instructions for building Emacs." - exit 1 - puresize_adjust.h: ${srcdir}/puresize.h - @echo "The file $@ still needs to be generated." - @echo "Please run 'make' from the top-level." - exit 1 - paths.h: ${srcdir}/paths.h.in - @echo "The file $@ needs to be set up from paths.h.in." - @echo "Consult the file \`INSTALL' for instructions for building Emacs." - exit 1 +Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad -Emacs.ad.h: ${srcdir}/${etcdir}Emacs.ad - @echo "The file $@ needs to be set up from ${srcdir}/${etcdir}Emacs.ad" - @echo "Consult the file \`INSTALL' for instructions for building Emacs." - exit 1 +config.h puresize_adjust.h paths.h Emacs.ad.h : + @echo "The file $@ needs to be re-generated." + @echo "Please run a make in the top level directory." + @echo "Consult the file \`INSTALL' for instructions for building XEmacs." + @exit 1 -/* Some machines have alloca built-in. - They should define HAVE_ALLOCA, or may just let alloca.s - be used but generate no code. - Some have it written in assembler in alloca.s. - Some use the C version in alloca.c (these define C_ALLOCA in config.h). - */ +## Some machines have alloca built-in. +## They should define HAVE_ALLOCA, or may just let alloca.s +## be used but generate no code. +## Some have it written in assembler in alloca.s. +## Some use the C version in alloca.c (these define C_ALLOCA in config.h). + #ifdef C_ALLOCA -/* We could put something in alloca.c to #define free and malloc - whenever emacs was #defined, but that's not appropriate for all - users of alloca in Emacs. Check out ../lib-src/getopt.c. */ +## We could put something in alloca.c to #define free and malloc +## whenever emacs was #defined, but that's not appropriate for all +## users of alloca in Emacs. Check out ../lib-src/getopt.c. */ + alloca.o : ${srcdir}/alloca.c $(CC) -c -Dfree=xfree -Dmalloc=xmalloc $(cflags) $< #else #ifndef HAVE_ALLOCA alloca.o : ${srcdir}/alloca.s config.h -/* $(CPP) is cc -E, which may get confused by filenames - that do not end in .c. So copy file to a safe name. */ - cp ${srcdir}/alloca.s allocatem.c -/* Remove any ^L, blank lines, and preprocessor comments, - since some assemblers barf on them. Use a different basename for the - output file, since some stupid compilers (Green Hill) use that - name for the intermediate assembler file. */ +## $(CPP) is cc -E, which may get confused by filenames +## that do not end in .c. So copy file to a safe name. */ +## cp ${srcdir}/alloca.s allocatem.c +## Remove any ^L, blank lines, and preprocessor comments, +## since some assemblers barf on them. Use a different basename for the +## output file, since some stupid compilers (Green Hill) use that +## name for the intermediate assembler file. $(CPP) $(cppflags) allocatem.c | \ sed -e 's///' -e 's/^#.*//' | \ sed -n -e '/^..*$$/p' > allocax.s - -rm -f alloca.o -/* Xenix, in particular, needs to run assembler via cc. */ + @$(RM) alloca.o +## Xenix, in particular, needs to run assembler via cc. $(CC) -c allocax.s mv allocax.o alloca.o - rm -f allocax.s allocatem.c + $(RM) allocax.s allocatem.c #endif /* HAVE_ALLOCA */ #endif /* ! defined (C_ALLOCA) */ @@ -946,29 +600,31 @@ $(CC) -c -Demacs $(sound_cflags) $(cflags) $< #endif /* HAVE_NATIVE_SOUND */ -/* System-specific programs to be made. - ${other_files}, OBJECTS_SYSTEM and OBJECTS_MACHINE - select which of these should be compiled. */ +## System-specific programs to be made. +## ${other_files}, $(objects_system) and $(objects_machine) +## select which of these should be compiled. */ + +.PHONY : mostlyclean clean distclean realclean versionclean extraclean mostlyclean: - rm -f temacs puremacs quantmacs prefix-args xmakefile* core depend.* \#* *.o - rm -f ${libsrc}DOC + $(RM) temacs puremacs quantmacs prefix-args core depend.* \#* *.o *.i clean: mostlyclean - rm -f xemacs libextcli* -/**/# This is used in making a distribution. -/**/# Do not use it on development directories! + $(RM) xemacs libextcli* ${libsrc}DOC +## This is used in making a distribution. +## Do not use it on development directories! distclean: clean versionclean - rm -f config.h paths.h puresize_adjust.h Emacs.ad.h \ - rm -f Makefile Makefile.in .pure xemacs-version.h + $(RM) config.h paths.h puresize_adjust.h Emacs.ad.h \ + Makefile Makefile.in .pure xemacs-version.h realclean: distclean - rm -f TAGS + $(RM) TAGS versionclean: - -rm -f xemacs ${libsrc}DOC + $(RM) xemacs ${libsrc}DOC extraclean: realclean - -rm -f *~ \#* m/?*~ s/?*~ + $(RM) *~ \#* m/?*~ s/?*~ -/* The rule for the [sm] files has to be written a little funny to - avoid looking like a C comment to CPP. */ +## The rule for the [sm] files has to be written a little funny to +## avoid looking like a C comment to CPP. +.PHONY : lock unlock SOURCES = *.[chm] *.pswm [sm]/?* COPYING paths.h.in Makefile.in.in \ config.h.in README COPYING ChangeLog unlock: @@ -979,7 +635,7 @@ #ifdef __GNUC__ -/*** Dependency processing using GCC ***/ +## Dependency processing using GCC .c.dep: $(CC) -MM $(cflags) $< > $*.dep @@ -988,14 +644,15 @@ obj_dep = $(objs:.o=.dep) +.PHONY : depend gnu-depend +## #### Needs a bit of work: it doesn't see the object files that +## we are not compiling gnu-depend: $(obj_dep) - /* #### Needs a bit of work: it doesn't see the object files that - we are not compiling */ cat $(obj_dep) | sh ${libsrc}process-gnu-depends.sh > depend.out #endif /* GCC */ -/*** Dependency processing using makedepend ***/ +## Dependency processing using makedepend depend: : > depend.tmp @@ -1011,12 +668,11 @@ echo '#endif /''* MULE *''/' >> depend.out echo '' >> depend.out cat /tmp/depend2.$$ >> depend.out - rm -f /tmp/depend1.$$ /tmp/depend2.$$ + $(RM) /tmp/depend1.$$ /tmp/depend2.$$ -/* Manually-generated dependencies (makedepend misbehaves on these) */ +## Manually-generated dependencies (makedepend misbehaves on these) -/* (actually makedepend does OK on these but we want to conditionalize - them) */ +## (actually makedepend does OK on these but we want to conditionalize them) #ifdef EXTERNAL_WIDGET ExternalClient-Xlib.o: extw-Xlib.h ExternalClient-Xm.o: config.h @@ -1063,7 +719,7 @@ cadillac-btl-process.o: $(BTL_dir)/cadillac-btl-extern.h #endif /* EMACS_BTL */ -/* (makedepend definitely misbehaves on these) */ +## (makedepend definitely misbehaves on these) sgiplay.o: config.h sgiplay.o: libst.h unexconvex.o: getpagesize.h @@ -1081,7 +737,7 @@ unexmips.o: config.h unexsunos4.o: config.h -/* Dependencies generated by 'make depend' */ +## Dependencies generated by 'make depend' #ifdef MULE EmacsFrame.o: mule-charset.h @@ -1307,6 +963,12 @@ alloc.o: toolbar.h alloc.o: window.h alloca.o: config.h +balloon_help.o: config.h +balloon_help.o: balloon_help.h +balloon-x.o: config.h +balloon-x.o: device.h +balloon-x.o: console-x.h +balloon-x.o: balloon_help.h blocktype.o: blocktype.h blocktype.o: config.h blocktype.o: dynarr.h